110

私は次のような列挙型を持っています:

public static enum Command
{
login,
register,
logout,
newMessage
}

ファイルをフォーマットすると、出力は次のようになります。

public static enum Command 
{
login, register, logout, newMessage
}
4

6 に答える 6

204

@wjans による回答は、通常の列挙型では問題なく機能しましたが、引数付きの列挙型では機能しませんでした。彼の答えを少し拡張するために、Eclipse Juno で私にとって最も賢明な書式設定を提供した設定を次に示します。

  1. Window> Preferences> Java> Code Style>Formatter
  2. クリックEdit
  3. Line Wrappingタブを選択
  4. enum宣言ツリーノードを選択
  5. に設定Line wrapping policyするWrap all elements, every element on a new line (...)と、括弧内に 3 の 3 と表示されます。
  6. チェックを外しForce split, even if line shorter than maximum line width (...)て、括弧内に 3 of 3 と表示します。
  7. Constantsツリーノードを選択
  8. 小切手Force split, even if line shorter than maximum line width

これにより、enum treenode の 3 つのサブノードが同じラッピング ポリシーに設定され、treenode を除いて同じ強制分割ポリシーConstantsが設定されるため、引数を含む enum はそれぞれ独自の行にフォーマットされます。引数は、最大行幅を超えた場合にのみ折り返されます。

例:

@wjans

enum Example {
    CANCELLED,
    RUNNING,
    WAITING,
    FINISHED
}

enum Example {
    GREEN(
        0,
        255,
        0),
    RED(
        255,
        0,
        0)
}

上記の解決策:

enum Example {
    CANCELLED,
    RUNNING,
    WAITING,
    FINISHED
}

enum Example {
    GREEN(0, 255, 0),
    RED(255, 0, 0)
}
于 2012-10-03T09:27:37.217 に答える
51

これは、フォーマッターの設定で指定できます。

  • 設定:Java-コードスタイル-フォーマッタ
  • [編集]をクリックします
  • [行の折り返し]タブを選択します
  • 左側のボックスで「列挙型」宣言->定数を選択します
  • 行の折り返しポリシーを「すべての要素、すべての要素を新しい行に折り返す」に設定します
  • 「強制分割...」をチェックします
于 2011-07-13T08:47:44.960 に答える
11

これも少し醜いですが、会社のポリシーでフォーマッタを変更できない場合は、ラップしたくない行の最後にコメントを入れることができます。

public static enum Command 
{
    login,//
    register,//
    logout,//
    newMessage//
};
于 2011-07-13T08:57:12.677 に答える
5

良くありませんが、コードの一部のセクションで Eclipse フォーマッターをオフにすることができます...

// @formatter:off
public static enum Command {
    login,
    register,
    logout,
    newMessage
};
// @formatter:on

オプションは Windows->Preferences->Java->Code Style->Formatter->Edit->Off/On Tags パネルにあります

于 2011-07-13T08:53:07.210 に答える
4

「定数」の列挙型宣言の下に行折り返しポリシーを設定する必要があります。

ラッピング ポリシーを

  • すべての要素、すべての要素を改行で折り返す

  • 「、、、、、
于 2011-07-13T08:53:27.770 に答える
2

最新のEclipse 2018.9を追加するだけです

  1. Window > Preferences > Java > Code Style > Formatter-Edit
  2. Line Wrappingツリー ノードを展開します。
  3. 拡大Wrapping settings
  4. 拡大'enum' declaration
  5. 編集ConstantsしてConstant arguments.

定数は である必要がありますWrap all elements, every element on a new line。定数引数は である必要がありますWrap where necessary

于 2018-11-30T10:29:34.137 に答える