Eclipse 4.5 Java格式化程序已更改

5
今天我将Eclipse升级到了4.5版本,此后它的格式有所不同。
之前的格式为:
@Override
public void close() {
    try {
        engine.closeSession(session);
        status = NOT_CONNECTED;
    } catch (final OpenpagesException e) {
        log.error("Closing connection failed", e);
    }
}

现在:

@Override
public void close() {
try {
    engine.closeSession(session);
    status = NOT_CONNECTED;
} catch (final OpenpagesException e) {
    log.error("Closing connection failed", e);
}
}

这也发生在switch、for、if等语句中...
看起来方法体内的第一级缩进出了问题。
我查看了格式设置,但没有找到可能导致此问题的原因。
这是一个bug吗,还是需要设置?
更新:01.07.2015
仅在制表符大小为2时发生。如果将其设置为4,则除了浪费空间之外,一切看起来都很好...
解决方法:
在格式化器设置中,从Tabs only切换到mixed模式。
然后将缩进大小和制表符大小都设为2。
切换回Tabs only并应用所有更改。
现在格式化程序的工作方式类似于版本4.4,并且使用2个制表符而不是4个。

这些是您已经审查过的“首选项/Java/代码样式”中的格式设置吗?在4.4.2中,有“方法/构造函数体内的语句”。 - Thomas Weller
1
是的,那是正确的位置,而且这已经启用了很多年... - Nabor
很好的回答!只是晚了10秒……为此点个踩……这才是正确的态度! - Danielson
谢谢你提供的解决方法!这个问题一直阻止我使用Mars。你应该回答自己的问题。 - Collin Peters
1个回答

1

解决方法

在格式化设置中,将选项从“仅制表符”切换到“混合模式”。 然后将缩进大小设置为2,制表符大小也设置为2。 再将设置切换回“仅制表符”,并应用所有更改。 现在格式化的效果与4.4版本相同,使用2个空格作为制表符,而不是4个。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接