Java 文字列として記述された SQL ステートメントを含む Java コードがいくつかあります (OR/M の炎上はやめてください。埋め込み SQL はそのままの状態で、私の決定ではありません)。
メンテナンスを容易にするために、SQL ステートメントを意味的に複数のコード行にわたる複数の連結文字列に分割しました。そのため、次のようなコードではなく、
String query = "SELECT FOO, BAR, BAZ FROM ABC WHERE BAR > 4";
次のようなものがあります:
String query =
"SELECT FOO, BAR, BAZ" +
" FROM ABC " +
" WHERE BAR > 4 ";
このスタイルにより、特に大規模なクエリの場合、SQL の読み取りと保守がはるかに簡単になります (IMHO)。たとえば、エディターを「上書き」モードにして、テキストをその場で簡単に変更できます。
この問題は、SQL の特定の例を超えて一般化されることに注意してください。垂直フォーマット、特に表形式の構造で記述されたコードは、プリティー プリンタによって破壊される可能性があります。
現在、一部のプロジェクト メンバーは Eclipse エディターを使用しており、ソース ファイル全体をフォーマットするとセマンティック フォーマットが破壊されることがよくあります。
フォーマットに関して、特定のソース行を無視するように Eclipse に指示する方法はありますか?
私は、Eclipse フォーマッタを切り替える特別なコメントのようなものを探しています。理想的には、そのようなコメントは、選択したものになるように構成可能であり、他のフォーマッタもそれを尊重するようにプログラムできます。
// STOP-ECLIPSE-FORMATTING
String query =
"SELECT FOO, BAR, BAZ" +
" FROM ABC " +
" WHERE BAR > 4 ";
// START-ECLIPSE-FORMATTING
明らかに、1つの「解決策」は、チームメンバーに次のような外部フォーマッタを標準化させることです。ジャロピーまたはジンデントしかし、それはこの質問の目的ではありません (また、このプロジェクトに関する私の決定でもありません)。私は特に、Eclipse フォーマッタをアドホックに回避する方法を探しています。
理想的には、 Eclipse を使用するチーム メンバーに IDE の再構成を要求せずに(フォーマッタに依存しないコマンド コメントを選択する以外: STOP-ECLIPSE-FORMATTING
→ STOP-FORMATTING
)、Eclipse フォーマッタの指示を挿入できるソリューションが必要です。
ベストアンサー1
Eclipse 3.6では、特別なコメントを配置することでフォーマットをオフにすることができます。
// @formatter:off
...
// @formatter:on
オン/オフ機能は、Eclipse の設定で「オン」にする必要があります: Java → Code Style→ Formatter。 、 をクリックしてEdit、Off/On Tags有効にしますEnable Off/On tags。
設定でマジックストリングを変更することも可能です。Eclipse 3.6のドキュメントはこちらをご覧ください。
詳しくは
Java → Code Style→ Formatter→ Edit→Off/On Tags
この設定により、フォーマッタを無効にするタグを 1 つと有効にするタグを 1 つ定義できます (フォーマッタ プロファイルの [タグのオフ/オン] タブを参照)。
また、以下のフラグを有効にする必要があります。Java Formatting
注意: これらのコントロールが Javadoc コメント内に配置されている場合、Javadoc の生成は失敗します。