【发布时间】:2013-05-09 09:16:31
【问题描述】:
Emacs 24 Java 模式无法正确缩进新的try-with-resource 结构。
class X{
void foo() {
try {
check(); // ((statement-block-intro 35))
}
}
void bar() {
try (Lock l = bar()) {
check(); // ((substatement 140) (statement-block-intro 140))
}
}
}
如上所示,这样的 try 块中的语句由额外的 4 个空格缩进,值为 c-basic-indent,包括右大括号。
我发现try 和try-with-resource 之间的一个区别是块中第一个语句的句法信息,后者在头部有一个额外的(substatement)。这可能是它破裂的原因吗?
如果我从第一行手动删除 4 个空格,则其余行正确缩进,除了右括号,它继续缩进额外的空格。
这让我发疯了。如果解决它,我更改 c-guess-basic-syntax 并非易事,也许是使用建议的解决方法?
【问题讨论】:
标签: java emacs indentation code-formatting