14

次のようにビルダーを呼び出すいくつかのコードを Eclipse でフォーマットしたいと思います。

final Item item = new Item.Builder()
                          .name("something")
                          .field("a value")
                          .build();

つまり、「.」に揃えます。最初の行の文字。手動で 2 行目 (.name("something")) を揃えることで、Eclipse にこれを実行させることができますが、自動フォーマットではこれが破棄されます。

私は Eclipse で見つけることができるさまざまな書式設定オプションをすべて試してみましたが、どれも私が望んでいるようには見えません。このようにコードをレイアウトするための形式オプションがあるかどうかについてのアイデアはありますか?

4

3 に答える 3

5

ドット位置に正確に揃えることはできませんが、各メソッド呼び出しの改行は自動的に行うことができます。この出力を作成しました

void format() {
    Test test = new Test()
            .a()        // this call can also be configured to be one line above
            .b()
            .c();
}

フォーマッタ設定で [行の折り返し] タブを選択し、 [関数呼び出し]、[修飾された呼び出し] を選択し、コンボ ボックスの [行の折り返しポリシー] を [すべての要素を新しい行に折り返し、すべての要素を新しい行に折り返す]に切り替え、最後にチェックボックス [行が短くても分割を強制する] をオンにします。最大線幅より

代わりに「...except first element」ポリシーを選択することで、最初のメソッド呼び出しを最初の行に取得できます。

于 2013-01-29T19:43:34.383 に答える
0

新しいフォーマッタを作成します。

Properties -> Formater -> Configure Workspace Settings -> New

次にタブOff/On TagsセットでEnable Off/On tags

そして、次のようにコードを囲みます。

/* @formatter:off */
final Item item = new Item.Builder()
                          .name("something")
                          .field("a value")
                          .build();
/* @formatter:on */
于 2013-01-29T15:05:40.160 に答える
0

「jalopy」を使用することでこれを実現できると思います。Maven を使用する場合は、Maven 用のプラグインがあります。

ジャロピーを使用したい場合、興味のある設定は、値を に設定する必要<methodCallChain>があるalignment要素にありますtrue

編集済み: maven ジャロピー プラグイン. cleanフェーズをターゲットにして、目標を使用していることを確認してくださいformat

于 2013-02-10T23:17:16.640 に答える