在Eclipse for Java中的单独行上包装链式方法调用

时间:2011-06-08 07:56:01

标签: eclipse line

我没有成功地弄清楚如何在Eclipse中包装每个方法调用。例如,我有这个:

someObject.A().B().C();

但我真的想要这个:

someObject.A()
          .B()
          .C();

Eclipse中“Line Wrapping”部分下的任何内容似乎都没有给我这个结果。

7 个答案:

答案 0 :(得分:171)

补充Deepak Azad的回答,你真正需要的是:

  

Windows :窗口→首选项→Java→代码样式
  →格式化程序→编辑→换行(选项卡)

     

Mac OS :ADT→首选项→Java→代码样式
  →格式化程序→编辑→换行(选项卡)

然后,在左侧列表中,选择:

  

函数调用→合格调用

现在,在此列表下方,将换行策略设置为:

  

包裹所有元素,如果没有必要,除了第一个元素

检查

  

强制拆分,即使行短于最大行宽

最后,将缩进政策设置为(感谢@Turbo):

  

列上的缩进

它应该为您提供您要求的确切行为。


奖励:Android Studio / IntelliJ创意:

  

Mac OS :Android Studio→偏好设置(Cmd +,)→编辑器→代码风格→Java→环绕和支撑标签→链式方法调用

选择

  

总是

并检查

  

多线时对齐

答案 1 :(得分:9)

窗口→首选项→Java→代码样式→格式化程序→编辑器→换行→从不加入已包装的行

答案 2 :(得分:7)

窗口>偏好> Java>代码风格> Formater>编辑>换行>函数调用,将“换行策略”设置为“换行所有元素,新行上的每个元素”。

答案 3 :(得分:4)

对于那些将eclipse代码格式设置检入源代码控制的人(为了整个团队中的一致代码格式),签入了where Grade is not null文件夹。

将为您提供此格式化行为的属性位于Select * from Users u cross join quiz q left outer join quiz_grades qg on u.EmpId = qg.EmpId and q.QuizID = qg.QuizID where qg.Grade is not null 文件中。

该财产是:

.settings

答案 4 :(得分:2)

如果您愿意自己对这些段进行格式化,可以使用以下命令防止eclipse重新格式化这些段:

// @formatter:off
...
// @formatter:on

您可能需要在首选项中启用此功能: http://archive.eclipse.org/eclipse/downloads/drops/R-3.6-201006080911/eclipse-news-part2.html#JavaFormatter

另见: How to turn off the Eclipse code formatter for certain sections of Java code?

答案 5 :(得分:0)

in:Window-> Preferences-> Java-> Code Style-> Formater-> Edit->换行 - >函数调用 - >合格的调用

选择缩进政策作为列

上的缩进

答案 6 :(得分:-1)

在java和javascript中自定义您的eclipse格式化程序。增加适合您屏幕的最大线。 Windows>preferences

Edit