0

我正在尝试配置一个 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 代码样式窗口

为什么会有差异?还有什么不同?如何让 Intellij 将代码完全格式化为 google java 代码样式格式 xml 文件?

非常感谢您提前提供的帮助

问候

4

0 回答 0