私は次のような列挙型を持っています:
public static enum Command
{
login,
register,
logout,
newMessage
}
ファイルをフォーマットすると、出力は次のようになります。
public static enum Command
{
login, register, logout, newMessage
}
@wjans による回答は、通常の列挙型では問題なく機能しましたが、引数付きの列挙型では機能しませんでした。彼の答えを少し拡張するために、Eclipse Juno で私にとって最も賢明な書式設定を提供した設定を次に示します。
Window
> Preferences
> Java
> Code Style
>Formatter
Edit
Line Wrapping
タブを選択enum
宣言ツリーノードを選択Line wrapping policy
するWrap all elements, every element on a new line (...)
と、括弧内に 3 の 3 と表示されます。Force split, even if line shorter than maximum line width (...)
て、括弧内に 3 of 3 と表示します。Constants
ツリーノードを選択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)
}
これは、フォーマッターの設定で指定できます。
これも少し醜いですが、会社のポリシーでフォーマッタを変更できない場合は、ラップしたくない行の最後にコメントを入れることができます。
public static enum Command
{
login,//
register,//
logout,//
newMessage//
};
良くありませんが、コードの一部のセクションで Eclipse フォーマッターをオフにすることができます...
// @formatter:off
public static enum Command {
login,
register,
logout,
newMessage
};
// @formatter:on
オプションは Windows->Preferences->Java->Code Style->Formatter->Edit->Off/On Tags パネルにあります
「定数」の列挙型宣言の下に行折り返しポリシーを設定する必要があります。
ラッピング ポリシーを
と
最新のEclipse 2018.9を追加するだけです
Window > Preferences > Java > Code Style > Formatter
-Edit
Line Wrapping
ツリー ノードを展開します。Wrapping settings
'enum' declaration
Constants
してConstant arguments
.定数は である必要がありますWrap all elements, every element on a new line
。定数引数は である必要がありますWrap where necessary
。