我正在尝试配置一个 maven spring boot 应用程序以使用 google java 格式样式一尘不染。我也希望 Intellij 像 maven 插件那样格式化代码。
但我注意到应用的格式略有不同。
一个例子:Intellij 不会更改以下 2 行
@Mock
private UserRepository userRepositoryMock;
但是 maven 插件(使用命令:mvn spotless:apply)将像这样格式化:
@Mock private UserRepository userRepositoryMock;
POM 配置
<plugin>
<groupId>com.diffplug.spotless</groupId>
<artifactId>spotless-maven-plugin</artifactId>
<version>${spotless.version}</version>
<configuration>
<!-- optional: limit format enforcement to just the files changed by this feature branch -->
<ratchetFrom>origin/master</ratchetFrom>
<formats>
<!-- you can define as many formats as you want, each is independent -->
<format>
<!-- define the files to apply to -->
<includes>
<include>*.md</include>
<include>.gitignore</include>
</includes>
<!-- define the steps to apply to those files -->
<trimTrailingWhitespace/>
<endWithNewline/>
<indent>
<spaces>true</spaces>
<spacesPerTab>4</spacesPerTab>
</indent>
</format>
</formats>
<!-- define a language-specific format -->
<java>
<!-- no need to specify files, inferred automatically, but you can if you want -->
<importOrder> <!-- or a custom ordering -->
<order>java,javax,org,com,microservices.book.multiplication,
</order> <!-- or use <file>${project.basedir}/eclipse.importorder</file> -->
<!-- you can use an empty string for all the imports you didn't specify explicitly, and '\\#` prefix for static imports -->
</importOrder>
<removeUnusedImports/> <!-- self-explanatory -->
<!-- apply a specific flavor of google-java-format and reflow long strings -->
<googleJavaFormat>
<version>1.14.0</version>
<style>GOOGLE</style>
<reflowLongStrings>true</reflowLongStrings>
</googleJavaFormat>
<indent>
<tabs>true</tabs>
<spacesPerTab>2</spacesPerTab>
</indent>
<indent>
<spaces>true</spaces>
<spacesPerTab>4</spacesPerTab>
</indent>
</java>
</configuration>
</plugin>
在 Intellij 上 ,我从 google 添加了以下代码
Github 站点 https://github.com/google/google-java-format
IntelliJ Java Google 样式文件 https://raw.githubusercontent.com/google/styleguide/gh-pages/intellij-java-google-style.xml
为什么会有差异?还有什么不同?如何让 Intellij 将代码完全格式化为 google java 代码样式格式 xml 文件?
非常感谢您提前提供的帮助
问候