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 摘要。