0

在 IntelliJ IDEA(2021.2) 中的“重新格式化代码”之后,Java 代码缩进很奇怪。

代码格式配置如下:

<option name="OTHER_INDENT_OPTIONS">
    <value>
      <option name="INDENT_SIZE" value="2" />
      <option name="CONTINUATION_INDENT_SIZE" value="4" />
      <option name="TAB_SIZE" value="2" />
      <option name="USE_TAB_CHARACTER" value="false" />
      <option name="SMART_TABS" value="false" />
      <option name="LABEL_INDENT_SIZE" value="0" />
      <option name="LABEL_INDENT_ABSOLUTE" value="false" />
      <option name="USE_RELATIVE_INDENTS" value="false" />
    </value>
  </option>

样式配置来自 google-code-format。详细配置文件

格式化的代码将是:

  @Test
  public void testMethod() {
    ... // other codes
    Mockito.doAnswer(
            new Answer() { // weird indentation, more 4 spaces.
              @Override
              public Object answer(InvocationOnMock invocationOnMock) throws Throwable {
                Files.touch(new File(localFile));
                return null;
              }
            })
        .when(strategyDownloadManager)
        .download(Mockito.any(StrategyDownloadTask.class));
    ... // other codes
  }

为什么不格式化如下:

  @Test
  public void testMethod() {
    ... // other codes
    Mockito.doAnswer(
        new Answer() {
          @Override
          public Object answer(InvocationOnMock invocationOnMock) throws Throwable {
            Files.touch(new File(localFile));
            return null;
          }
        })
        .when(strategyDownloadManager)
        .download(Mockito.any(StrategyDownloadTask.class));
    ... // other codes
  }

由于另一个匿名类是:

    Thread thread =
        new Thread(
            new Runnable() { // annoymous class as parameter.
              @Override
              public void run() {}
            });
4

0 回答 0