在Java for Eclipse中,将链式方法调用在单独的一行中

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

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

但是我真的很想这样做:

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

Eclipse的“换行”部分下没有任何东西似乎给我这个结果。

补充Deepak Azad的答案,你确切需要的是以下几点:

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

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

然后在左边的列表中select:

函数调用→合格的调用

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

包装所有的元素,除了第一个元素,如果不是必要的

检查

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

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

在列上缩进

它应该给你你要求的确切行为。


奖金:Android Studio / IntelliJ创意:

Mac OS :Android Studio→首选项( Cmd +, )→编辑器→代码样式→Java→ 包装和大括号选项卡→链接方法调用

select

总是包裹

并检查

多行alignment

窗口>首选项> Java>代码样式> Formater>编辑>换行>函数调用,将“换行策略”设置为“将所有元素换行,每个元素换行”。

Window-> Preferences-> Java-> Code Style-> Formater-> Edit->换行 – >永远不join已经换行

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

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

您可能需要在您的偏好设置中启用它: http : //archive.eclipse.org/eclipse/downloads/drops/R-3.6-201006080911/eclipse-news-part2.html#JavaFormatter

另请参阅: 如何closures某些Java代码段的Eclipse代码格式化程序?

对于Eclipse代码格式化设置签入源代码控制(为整个团队一致的代码格式),检查.settings文件夹。

将为您提供此格式化行为的属性位于.settings/org.eclipse.jdt.core.prefs文件中。

该物业是:

 org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=80 

在:Window-> Preferences-> Java-> Code Style-> Formater-> Edit-> Line wrapping-> Function call-> Qualified invocation

select缩进策略作为列上的缩进

在java和javascript中定制你的eclipse格式化程序。 增加适合你的屏幕的最大线。 窗口>首选项

编辑