我还没有成功地解决如何在 Eclipse中包装每个方法调用的问题:
Eclipse
someObject.A().B().C();
但我真的很想要这个:
someObject.A() .B() .C();
在 Eclipse中的“线包装”部分似乎没有给我这个结果。
Window → Preferences → Java → Code Style → Formater → Edit → Line wrapping → Never join already wrapped lines
Window > Preferences > Java > Code Style > Formater > 编辑 > 换行 > 函数调用,将“换行策略”设置为“将所有元素,所有元素换行”。
如果你愿意自己格式化这些片段,你可以通过使用以下方法来阻止 eclipse 重新格式化这些片段:
// @formatter:off ... // @formatter:on
您可能需要在首选项中启用此选项: Http://archive.eclipse.org/eclipse/downloads/drops/r-3.6-201006080911/eclipse-news-part2.html#javaformatter
See also: 如何为 Java 代码的某些部分关闭 Eclipse 代码格式化程序?
作为对迪帕克 · 阿扎德答案的补充,你真正需要的是以下几点:
Windows : Window → Preferences → Java → Code Style →格式化→编辑→换行(制表符) Mac OS : ADT → Preferences → Java → Code Style →格式化→编辑→换行(制表符)
Windows : Window → Preferences → Java → Code Style →格式化→编辑→换行(制表符)
Mac OS : ADT → Preferences → Java → Code Style →格式化→编辑→换行(制表符)
然后,在左边的列表中,选择:
函数调用→限定调用
现在在这个列表下面,将 Line wrapping policy设置为:
Wrap all elements, except first element if not necessary
检查 :
强制拆分,即使线条短于最大线条宽度
最后,将 压痕政策设置为(感谢 @ Turbo) :
在柱子上缩进
It should give you the exact behavior you asked for.
额外奖励: Android Studio/IntelliJ 创意:
Mac OS : Android Studio →首选项(Cmd +,)→编辑器→代码样式→ Java → 包装和牙套 tab →链式方法调用
Cmd +,
select
总是包装
检查一下
多线时对齐
在 java 和 javascript 中自定义您的 Eclipse 格式化程序。
对于那些在源代码控制中检入 Eclipse 代码格式设置的用户(为了在整个团队中进行一致的代码格式设置) ,将检入 .settings文件夹。
.settings
The property that will give you this formatting behavior is in the .settings/org.eclipse.jdt.core.prefs file.
.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 行包裝-> Function call-> Qualified 式呼叫
选择缩进策略作为列上的缩进