如何在 Eclipse 中在非孤立大括号周围强制执行空行?
2022-09-03 08:09:40
Eclipse 格式工具 (Luna) 不考虑
- 在非函数声明上强制执行非孤立大括号之前和之后的 1 个空行。
for (...) {
, , ,if (...) {
} else {
} catch (...) {
在孤立的右大括号之前强制执行 0 个空行。
}
在孤立的右大括号后强制执行 1 个空行,除非后面跟着另一个孤立的右大括号(规则 2 胜过规则 3)。
术语:
- 非孤立 = 与运算符/关键字配对
- 非函数 = 不是类或方法声明
例:
...
someCall();
} // ORPHAN CLOSE BRACE - NO BLANK LINE BEFORE OR AFTER
} // ORPHAN CLOSE BRACE – BLANK LINE AFTER
someOtherCall();
} // ORPHAN CLOSE BRACE – NO BLANK LINE BEFORE
...
String result;
int foo = 1000;
// a blank line
for (int x = 0; x < foo; x++) {
// a blank line
if (x < value) {
// a blank line
try {
// a blank line
result = methodCall(x);
result.setBar(outtaReach);
handleResult(x, result);
x = z % 5;
// a blank line
} catch (Exception ex) {
// a blank line
doSomething(x, ex); // no blank line - orphan
}
// a blank line
} else {
// a blank line
otherCall(x); // no blank line - orphan
} // no blank line - orphan
}
// a blank line
...
我这样做的原因是提高代码的可读性;我将让 JVM 处理优化。撇开关于我想要的格式样式的意见不谈,有没有办法在Eclipse中强制执行这种特定的空行样式?也许有一个插件来执行此操作,我还没有找到,或者我必须编写一个?
Eclipse 的 Java Code Formatter 的“空行”部分不提供强制实施或应用此功能的功能。请注意,我不想在没有大括号的代码块之间强制使用空行(请参阅上面的 和 代码块作为示例)。String | int
result | handleResult()
我最接近的设置是:
编译单元中的空行
- 包裹申报前: 0
- 包裹申报后:1
- 进口前报关:1
- 导入组之间:0
- 进口报关后:1
- 类声明之间:1
类声明中的空行
- 首次申报前:1
- 在同类声明之前:1
- 在成员类声明之前:1
- 字段声明之前:0
- 方法声明之前:1
- 在方法主体开始时:1
现有空行
- 要保留的空行数:1