如何在IntelliJ中停止展开流畅的API

10 java formatting indentation intellij-idea method-chaining

我正在使用IntelliJ IDEA 13.1.5编写使用流畅API的Java代码,我注意到当我关闭一个"流畅"代码部分的块时,IDEA会自动将"流畅"代码扁平化为一行.

例如,如果我有这个方法:

public int sendMessage(Message message) {
  Response response = JerseyClientHelper.target(serverUrl)
            .header("User-Agent", userAgent)
            .post(Entity.entity(message));
  return response.getStatus();
}
Run Code Online (Sandbox Code Playgroud)

我尝试将其包装在一个新的'if'块中,然后我将输入if条件并打开块:

public int sendMessage(Message message) {
  if (message != null) {
    Response response = JerseyClientHelper.target(serverUrl)
              .header("User-Agent", userAgent)
              .post(Entity.entity(message));
    return response.getStatus();
    // Didn't type the '}' to close the block yet
}
Run Code Online (Sandbox Code Playgroud)

但是只要我键入}以关闭块,IntelliJ就会将代码展平为一行:

public int sendMessage(Message message) {
  if (message != null) {
    Response response = JerseyClientHelper.target(serverUrl).header("User-Agent", userAgent).post(Entity.entity(message));
    return response.getStatus();
  }
}
Run Code Online (Sandbox Code Playgroud)

有没有办法禁用流畅的API自动展平?我查看了"代码样式 - > Java"和"代码样式 - >常规"部分,但找不到任何与此特别相关的内容.

Nim*_*sky 16

设置>代码样式> java>包装和大括号>链式方法调用

(在版本14中)

它看起来像这样

myInstance.call()
          .again()
          .eclipseIsRubbish(true)
          .cestfin();
Run Code Online (Sandbox Code Playgroud)