回答:
Deepak Azadの答えを補足すると、次のものが正確に必要です。
ウィンドウ:ウィンドウ→設定→Java→コードスタイル
→フォーマッタ→編集→行の折り返し(タブ)Mac OS:ADT→設定→Java→コードスタイル
→フォーマッタ→編集→行の折り返し(タブ)
次に、左側のリストで次を選択します。
関数呼び出し→修飾された呼び出し
このリストの下で、行の折り返しポリシーを次のように設定します。
必要でない場合は最初の要素を除くすべての要素をラップします
チェック:
線が最大線幅より短い場合でも強制分割
最後に、インデントポリシーを(thanks @Turbo)に設定します。
列のインデント
要求したとおりの動作が得られるはずです。
ボーナス:Android Studio / IntelliJ Idea:
Mac OS:Android Studio→Preferences(
Cmd +,
)→Editor→Code Style→Java→ Wrapping And Braces tab→Chained method calls
選択する
常にラップ
そしてチェック
複数行に揃える
Indent on column
、時々余分なスペースが追加されます。たとえばにsession.createQuery
なるsession .createQuery
など。デフォルトのオプションに戻すと、問題が解決しました。
ウィンドウ→設定→Java→コードスタイル→フォーマッタ→編集→行の折り返し→既に折り返された行を結合しない
I am sorry i did not explain: It won't format it. It will simply not mess it up, if you do it manually. –
[ウィンドウ]> [設定]> [Java]> [コードスタイル]> [フォーマッタ]> [編集]> [行の折り返し]> [関数呼び出し]で、[行の折り返しポリシー]を[すべての要素を折り返し、すべての要素を新しい行に含める]に設定します。
これらのセグメントのフォーマットを自分で行いたい場合は、以下を使用して、Eclipseがこれらのセグメントを再フォーマットしないようにすることができます。
// @formatter:off
...
// @formatter:on
あなたはあなたの好みでこれを有効にする必要があるかもしれません: http //archive.eclipse.org/eclipse/downloads/drops/R-3.6-201006080911/eclipse-news-part2.html#JavaFormatter
で:ウィンドウ->設定-> Java->コードスタイル->フォーマッタ->編集->行の折り返し->関数呼び出し->修飾された呼び出し
列のインデントとしてインデントポリシーを選択します
return new SomeClass().A().B().C();
、個別の行での各メソッド呼び出しでは機能しません。