intellij Idea中的Java代码格式化(链式方法调用)

intellij Idea中的Java代码格式化(链式方法调用),java,intellij-idea,code-formatting,Java,Intellij Idea,Code Formatting,我对Intellij Idea 14.1.4中的java代码格式化有一个小问题。 我有一段由我手动格式化的代码,看起来很适合我: public class Test { private static final ImmutableMap<String, String> map = new ImmutableMap.Builder<String, String>() .put("key", "value") .put(

我对Intellij Idea 14.1.4中的java代码格式化有一个小问题。 我有一段由我手动格式化的代码,看起来很适合我:

public class Test {
    private static final ImmutableMap<String, String> map = new ImmutableMap.Builder<String, String>()
            .put("key", "value")
            .put("key", "value")
            .put("key", "value")
            .put("key", "value")
            .put("key", "value")
            .put("key", "value")
            .build()
}
公共类测试{
私有静态最终ImmutableMap=new ImmutableMap.Builder()
.put(“键”、“值”)
.put(“键”、“值”)
.put(“键”、“值”)
.put(“键”、“值”)
.put(“键”、“值”)
.put(“键”、“值”)
.build()
}
但当我重新格式化此代码(Ctrl+Alt+L)时,我得到:

公共类测试{
私有静态最终不可变映射=
新建ImmutableMap.Builder().put(“键”、“值”)
.put(“键”、“值”)
.put(“键”、“值”)
.put(“键”、“值”)
.put(“键”、“值”)
.put(“键”、“值”)
.build()
}
预期结果:Intellij不会重新格式化任何内容,因为代码已经格式化

我有一个方案(可以下载代码样式设置),其中包含以下设置:


有人能解释一下我是如何达到预期结果的吗?

当我勾选属性时,问题就解决了

“重新格式化时保留”/“换行符”


它有助于我自己格式化代码,并带有自定义换行符。

在IntelliJ IDEA 2017.3中还有一个名为“换行第一次调用”的选项(我不确定他们到底是什么时候添加的):


我尝试过在14.1.3中编写代码,但没有重新创建。您是否尝试过使用“与多行对齐”复选框格式化代码?版本14.1.4。我需要为哪些组选择“与多行对齐”?请尝试“链接方法调用”
public class Test {
    private static final ImmutableMap<String, String> map =
            new ImmutableMap.Builder<String, String>().put("key", "value")
                    .put("key", "value")
                    .put("key", "value")
                    .put("key", "value")
                    .put("key", "value")
                    .put("key", "value")
                    .build()
}