8

目前我的eclipse格式化程序格式化一个多行函数调用,如下所示:

someObject.doSomething(
  some().long().chain().of().methods()
  );

但我想要的是让 eclipse 将右括号与方法调用对齐:

someObject.doSomething(
  some().long().chain().of().methods()
);

我曾尝试在代码格式化程序中使用新行和包装规则,但无法实现这一点。解决方案是什么?


经过一段时间的挖掘,我发现了一个类似的问题,它有一个可接受的答案,但似乎没有回答同一个问题: Eclipse 格式化程序可以配置为在括号之间正确缩进多行吗?

这个问题的作者还说:

编辑:我找到了“换行”->“换行的默认缩进”和“数组初始化的默认缩进”的设置,并将它们设置为“1”而不是“0”。这对于数组初始化器来说更好,但仍然没有缩进右括号以按照我想要的方式匹配左括号

4

1 回答 1

0

对此的最新提议没有考虑关闭);,而是第一个表达式。
请参阅 Eclipse 4.23(2022 年第一季度):

方法调用包装缩进

事实证明,当前面的表达式本身复杂到可以包装成多行时,如何缩进包装的方法调用并不明显。

缩进应该添加到表达式末尾的现有缩进中,还是只是重置并假设只有表达式第一行的缩进很重要?

以前只有前一种行为可用,现在有一个设置可以选择后者。

基本表达式第一行中名为 Indent 的复选框位于该Line Wrapping > Wrapping settings > Function calls部分中,就在Qualified invocations设置的正下方。

方法调用包装——https://www.eclipse.org/eclipse/news/4.23/images/formatter-invocation-wrapping.png

于 2022-02-27T21:06:30.333 回答