使用 Spotless-maven 插件覆盖 google-java-format

Ale*_*ell 10 java formatting continuous-integration maven

我希望为我的团队实现一个预提交自动格式化程序,因为代码有点乱。我喜欢一尘不染和谷歌风格,但症结似乎是 4 空格缩进,而它目前输出 2 空格缩进。

有没有办法通过 pom.xml 覆盖这个值,无论是在一尘不染的一面还是在谷歌的一面?

小智 6

按照此处 Github 问题评论中的说明:https ://github.com/diffplug/spotless/issues/420

您可以在 Gradle 构建中使用以下方法解决此问题:

indentWithTabs(2)
indentWithSpaces(4)
Run Code Online (Sandbox Code Playgroud)

对于 Maven,相同的代码是:

    <java>
        <googleJavaFormat>
            <version>1.8</version>
            <style>GOOGLE</style>
        </googleJavaFormat>
        <indent>
            <tabs>true</tabs>
            <spacesPerTab>2</spacesPerTab>
        </indent>
        <indent>
            <spaces>true</spaces>
            <spacesPerTab>4</spacesPerTab>
        </indent>
    </java>
Run Code Online (Sandbox Code Playgroud)


LaF*_*tte 5

Google java 格式在设计上不可配置:https://github.com/google/google-java-format/pull/57#issuecomment-233450426

格式化程序的格式化算法不可配置。这是一个经过深思熟虑的设计决定,旨在将我们的代码格式统一为单一格式。

另请参阅:https://github.com/google/google-java-format/wiki/FAQ#i-just-need-to-configure-it-a-bit- Differently-how