在 Eclipse 中,当激活(“缩进”选项卡)中的选项“按列对齐字段”(我想要)时Window -> Preferences -> Java -> Formatter
,Eclipse 还会决定将任何指定块(数组初始化器、匿名类、静态初始化器……)的右括号也对齐在等号的列上,如下所示:
int myVar = 0;
int[] myArray = {
1, 2, 3, 4, 5, 6
};
而如果取消选中“按列对齐字段”选项,您将获得:
int myVar = 0;
int[] myArray = {
1, 2, 3, 4, 5, 6
};
理想情况下,我想要以下混合(也许可以定义右括号的缩进):
int myVar = 0;
int[] myArray = {
1, 2, 3, 4, 5, 6
};
我也尝试使用“Line Wrapping”选项卡中的选项,但它们似乎对此没有影响。(Eclipse 甚至欺骗了你,因为你可以在“Whitespace”选项卡的“Array Initializers”选项中找到一些看起来像我想要的东西,但可能是因为它认为它是一个局部变量。
此外,如果有人知道一种神奇的方法,可以让“在列上对齐字段”等同于局部变量,这可能会很有趣。
不幸的是,从 Eclipse 3.4 到 3.7,我还没有找到完美实现这一目标的方法,这使得我无法充分发挥自动格式化程序的潜力。
欢迎提供线索和建议,即使是以自定义插件、补丁或其他神秘解决方案的形式。
答案1
如果您想保留制表符缩进,您可以使用以下设置:
制表符策略:混合缩进大小:4 制表符大小:4 [X] 按列对齐字段