问题
我有这样的枚举:
public static enum Command
{
login,
register,
logout,
newMessage
}
格式化文件时,输出变为:
public static enum Command
{
login, register, logout, newMessage
}
#1 热门回答(182 赞)
@wjans的答案适用于普通枚举,但不适用于带参数的枚举。为了扩展他的答案,这里是Eclipse Juno中为我提供最合理格式的设置:
- 窗口>首选项> Java>代码样式>格式化程序
- 单击"编辑"
- 选择Line Wrapping选项卡
- 选择枚举声明treenode
- 设置换行策略以换行所有元素,新行上的每个元素(...)所以现在它在括号中表示3中的3。
- 取消选中强制分割,即使行短于最大行宽(...),所以它现在在括号中表示3中的3。
- 选择常量treenode
- 检查力分割,即使线短于最大线宽
这将enum treenode的3个子节点设置为相同的包装策略,并且除了Constants
treenode之外,使用相同的强制拆分策略,因此带有参数的枚举将在各自的行中进行格式化。如果参数超过最大线宽,则它们将仅换行。
示例:****@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)
}
#2 热门回答(49 赞)
你可以在格式化程序首选项中指定:
- 首选项:Java - 代码样式 - 格式化程序
- 单击"编辑"
- 选择"Line Wrapping"选项卡
- 在左侧的框中选择"枚举"声明 - >常量
- 将换行策略设置为'换行所有元素,新行上的每个元素'
- 检查'强制拆分......'
#3 热门回答(9 赞)
它也有点丑陋,但是如果你的公司政策阻止你更改格式化程序,你可以在不想被包装的行的末尾添加注释。
public static enum Command
{
login,//
register,//
logout,//
newMessage//
};