Answers:
补充Deepak Azad的答案,您真正需要的是以下各项:
Windows:窗口→首选项→Java→代码样式
→格式化程序→编辑→换行(选项卡)Mac OS:ADT→首选项→Java→代码样式
→格式化程序→编辑→换行(选项卡)
然后,在左侧的列表中,选择:
函数调用→合格的调用
现在,在此列表下面,将换行策略设置为:
包装所有元素,必要时除第一个元素外
检查:
即使线短于最大线宽,也会强制拆分
最后,将缩进策略设置为(感谢@Turbo):
列缩进
它应该为您提供所需的确切行为。
奖金:Android Studio / IntelliJ想法:
Mac OS:Android Studio→首选项(
Cmd +,
)→编辑器→代码样式→Java→ 包装和括号选项卡→链式方法调用
选择
总是包装
并检查
多行时对齐
Indent on column
,有时会增加额外的空间。例如session.createQuery
变为session .createQuery
等。恢复为默认选项对我来说是个问题。
窗口→首选项→Java→代码样式→格式化程序→编辑→换行→永不合并已换行的行
I am sorry i did not explain: It won't format it. It will simply not mess it up, if you do it manually. –
窗口>首选项> Java>代码样式>格式化程序>编辑>换行>函数调用,将“换行策略”设置为“换行,换行所有元素”。
对于已将Eclipse代码格式设置签入源代码管理(对于整个团队而言一致的代码格式)的用户,将.settings
签入该文件夹。
该.settings/org.eclipse.jdt.core.prefs
文件中将提供这种格式化行为的属性。
该属性是:
org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=80
如果您愿意自己格式化这些段,可以使用以下方法防止eclipse重新格式化这些段:
// @formatter:off
...
// @formatter:on
您可能需要在首选项中启用它:http : //archive.eclipse.org/eclipse/downloads/drops/R-3.6-201006080911/eclipse-news-part2.html#JavaFormatter
在:窗口->首选项-> Java->代码样式->格式化程序->编辑->换行->函数调用->限定调用
选择“缩进策略”作为列上的缩进
return new SomeClass().A().B().C();
单独一行上的每个方法调用。