检查样式自定义缩进

问题描述 投票:0回答:1

TLDR;

如何通过修改

maven
来为
build
plugin
google_checks.xml
配置缩进等配置。

详情:

POM 片段:

...
    <build>
        <plugins>
        ...
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-checkstyle-plugin</artifactId>
                <version>3.3.0</version>
                <configuration>
                    <configLocation>google_checks.xml</configLocation>
                    <consoleOutput>true</consoleOutput>
                    <failsOnError>true</failsOnError>
                    <suppressionsLocation>checkstyle-suppressions.xml</suppressionsLocation>
                </configuration>
                <executions>
                    <execution>
                        <goals>
                            <goal>check</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
            ...
        </plugins>
    </build>
...

https://raw.githubusercontent.com/checkstyle/checkstyle/master/src/main/resources/google_checks.xml

来自

google_checks.xml

的狙击手
 <module name="Indentation">
            <property name="basicOffset" value="4"/>
            <property name="braceAdjustment" value="4"/>
            <property name="caseIndent" value="4"/>
            <property name="throwsIndent" value="4"/>
            <property name="lineWrappingIndentation" value="4"/>
            <property name="arrayInitIndent" value="4"/>
        </module>

SomeClass.java

public class SomeClass<T> implements SomeInterface,
                                     SomeInterface1 {

    private final CommentTableModel delegate; // Line with error. 

member def modifier' has incorrect indentation level 4, expected level should be 2.

要解决的问题:

我希望它保持在 4 ...我希望检查样式不将其报告为错误。 我该怎么做?

java maven-plugin checkstyle
1个回答
0
投票

Checkstyle(尚)不支持继承或嵌入配置(除了使用外部 DTD,出于安全考虑,默认情况下禁用外部 DTD)。有关添加它的讨论,请参阅https://github.com/checkstyle/checkstyle/issues/2873

据我所知,当前执行此操作的唯一方法是复制现有配置,根据需要进行调整,然后使用它。这确实意味着您需要主动维护该文件,因为对提供的配置的任何更改都需要复制到您自己的配置中。

© www.soinside.com 2019 - 2024. All rights reserved.