14

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

我曾经能够做到以下几点:

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

格式化程序会让我的代码保持这样。但是,自从我更改为 eclipse mars 后,所有内容都被包装成一行。

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

我怎样才能强制日食不加入这些行?

谢谢

4

2 回答 2

9

我找到了解决方案:我选择了所有特定元素(注释、类声明,...)并定义Wrap where necessary了而不是我通常的Do not wrap. 然后我将它设置maximum line width为一个高值,这样就Wrap when necessary不会真正包装任何东西。这似乎足以让我已经换行的行不被加入并保持格式化程序的默认行为“不换行”。

编辑:尽管这是解决手头问题的方法,但我在使用 Eclipse Mars 的格式化程序时遇到了更多问题,这让我回到了 Kepler。我试过Luna,似乎没有同样的问题。我可能会切换到Luna。

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

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

于 2015-06-25T14:49:23.240 回答
2

将此行添加到您的 profile.xml 或将属性设置为(false如果已存在)。

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

可以在此处找到示例 xml 。

于 2017-06-25T07:02:56.153 回答