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

Java code formatting in intellij Idea (chained method calls)

我在 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()
}

但是当我重新格式化这段代码(Ctrl + Alt + L)时,我得到:

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()
}

预期结果:Intellij 不会重新格式化任何内容,因为代码已经格式化。

我有一个方案(代码风格设置可以下载here),下一个设置:

谁能解释一下我怎样才能达到预期的结果?

勾选属性问题解决

"keep when reformatting"/"Line breaks"

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

IntelliJ IDEA 2017.3 中还有一个名为 "Wrap first call" 的选项(我不确定他们是什么时候添加的):