我有这样的枚举:
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 of 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
这会将枚举树节点的 3 个子节点设置为相同的包装策略,以及相同的强制拆分策略(树节点除外)Constants
,因此您的带参数的枚举将在各自的行上格式化。只有当参数超过最大线宽时,参数才会换行。
例子:
@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
.