可以配置(或扩展)eclipse格式化程序和代码清理,以添加我在以下示例中所期望的缩进:
public static void main(String[] args) {
String[] numbers = new String[] {
"one",
"two",
"three",
"four",
};
new MessageFormat("{0} {1} {2} {3}").format(
"this is string one",
"this is string two",
"this is string three"
);
System.out.println(
new MessageFormat("{0} {1} {2} {3}").format(
new String[]{
"this is string zero",
"this is string one",
"this is string two",
"this is string three"
}
)
);
}
我玩过我能找到的所有设置。 “never join lines”选项使它不会完全屠宰代码,但即使这样,缩进也会被剥离,代码就会出现如下:
String[] numbers = new String[] {
"one",
"two",
"three",
"four",
};
new MessageFormat("{0} {1} {2} {3}").format(
"this is string one",
"this is string two",
"this is string three"
);
System.out.println(
new MessageFormat("{0} {1} {2} {3}").format(
new String[] {
"this is string zero",
"this is string one",
"this is string two",
"this is string three"
}
)
);
我发现能够像这样关闭这些块的格式化:
// @formatter:off
String[] numbers = new String[] {
"one",
"two",
"three",
"four",
};
// @formatter:on
这是一个不错的工作,除了我的代码最终乱七八糟,代码清理的“正确的缩进”部分忽略了指令并且无论如何都会弄乱缩进。
编辑:我找到了“Line Wrapping”的设置 - > “包装行的默认缩进”和“数组初始化的默认缩进”,并将它们设置为“1”而不是“0”。这对于数组初始值设定项更好,但仍然不会缩减关闭的parethesis以匹配我想要的方式的左括号:
public static void main(String[] args) {
String[] numbers = new String[] {
"one",
"two",
"three",
"four",
};
new MessageFormat("{0} {1} {2} {3}").format(
"this is string one",
"this is string two",
"this is string three"
);
System.out.println(
new MessageFormat("{0} {1} {2} {3}").format(
new String[] {
"this is string zero",
"this is string one",
"this is string two",
"this is string three"
}
)
);
}
答案 0 :(得分:1)
您是否检查了换行选项卡。如果为表达式/数组初始化器和函数调用/ Qalified对象分配参数选择“换行所有元素,新行中的每个元素”,我认为你会得到类似的东西