google / google/google-java-format

IntelliJ Plugin with AOSP inserts incorrect blank lines during optimize imports

未關閉
#962 3 則留言 6 個 reaction 已指派 0 人 在 GitHub 檢視
IntelliJ
主要語言
Java
星號
6.2k
分支
937
平均合併
6 分鐘
30 天內合併 PR
3

描述

When using the IntelliJ google-java-formatter 1.16.0.2 with the AOSP style, the "Optimize Imports" action results in empty lines between imports with different TLDs.

### Given:
```java
// ...
import static org.assertj.core.api.Assertions.assertThat;
import lombok.extern.slf4j.Slf4j;
import org.junit.jupiter.params.ParameterizedTest;
import java.io.ByteArrayOutputStream;
import java.io.FileInputStream;
// ...
```
### Results in:
```java
// ...
import static org.assertj.core.api.Assertions.assertThat;

import lombok.extern.slf4j.Slf4j;

import org.junit.jupiter.params.ParameterizedTest;

import java.io.ByteArrayOutputStream;
import java.io.FileInputStream;
// ...
````

### Expected:
When using `spotless:check` with google-java-formatter 0.16.0 / 0.17.0 and AOSP, it complains that all but the first empty line have to be removed. The online documentation [seems to agree](https://google.github.io/styleguide/javaguide.html#s3.3.3-import-ordering-and-spacing) with spotless.

The IntelliJ plugin does not break the Google Java Style Guide when executing "optimize imports".

### Context
This being inconsistent between spotless and Intellij is very inconvenient. We use use spotless in the CI to enforce the codestyle and this necessitates running `mvn spotless:apply` for every commit or disabling "optimize imports" which itself results in manual cleanup of unused imports.

I have tried it with the default `GOOGLE` style and that does not seem to have this problem.

貢獻指南

開啟貢獻指南

評估

這個 Issue 還沒有評估資料。

把新 issue 寄到你的電子郵件信箱

精選適合新手參與的 GitHub issue 摘要。