如何强制Eclipse Mars 4.5格式化程序不加入已经换行的行?

我刚刚从eclipse Kepler转移到eclipse Mars,我的Java格式化程序似乎不再以同样的方式运行。

我曾经能够执行以下操作:

object
    .method1()
    .method2()
    .method3();

格式化程序会像这样保留我的代码。然而,自从我改用日食火星以来,一切都被包裹成一条线。

我已经验证了格式化程序,但我仍然选中了“从不加入已换行”选项。我的项目不使用有关 eclipse 格式化程序的特定设置。我尝试从头开始重新创建格式化程序,结果是相同的。

如何强制日食不加入这些行?

谢谢


答案 1

我找到了解决方案:我选择了所有特定的元素(注释,类声明等)并定义了而不是我通常的。然后,我将 设置为较高的值,以便永远不会实际包装任何内容。这似乎足以使我已经换行不被联接,并将格式化程序的默认行为保留为“不换行”。Wrap where necessaryDo not wrapmaximum line widthWrap when necessary

编辑:尽管这是手头问题的解决方案,但我在Eclipse Mars的格式化程序上遇到了更多的问题,这使我回到了开普勒。我尝试了Luna,它似乎没有同样的问题。我可能会改用Luna。

编辑:我切换到Luna,一切正常

编辑:我尝试了新的Mars.1,即使我没有完全相同的格式,也修复了很多错误,这足以让我开始在某些项目中使用它。我可能会在适当的时候在那里切换我的所有项目。


答案 2

将此行添加到配置文件.xml或将属性设置为(如果已存在)。false

<setting id="org.eclipse.jdt.core.formatter.join_wrapped_lines" value="false"/>

可以在此处找到示例 xml。


推荐