java Checkstyle -每行一个声明,与块对齐

nx7onnlm  于 2022-11-20  发布在  Java
关注(0)|答案(2)|浏览(125)

我正在尝试配置Eclipse Checkstyle,但我找不到两个选项:
在方法中,我希望每个声明都有一个新行:

public int calc (int x, 
                 int y,
                 int z) {
}

而非:

public int calc (int x, int y, int z) {
}

和声明应该这样 Package

private var                a;
private int []             b = null;
private ArrayList<Integer> c = new ArrayList<Integer> ();

而非:

private var a;
private int [] b = null;
private ArrayList<Integer> c = new ArrayList<Integer> ();

我已经尝试了“MultipleVariableDeclarations”和OneStatementPerLine,但它们只在方法内部工作,而不适用于方法的参数。
我希望有人能帮助我。

cbeh67ev

cbeh67ev1#

我不认为有内置的Checkstyle规则。内置的规则旨在保持一种通用的和既定的风格。就像@yegor256已经说的,你的不是。你可以浏览this site找到任何符合你要求的检查。我找不到任何。作为最后一个选项,你可以总是write your own check
代码格式化程序提示:进入Window-〉PreferencesSave Actions的filer。在那里你可以定义你的代码在保存时应该总是格式化的。也许你不需要像Checkstyle这样的工具来警告你没有格式化的代码。

gcuhipw9

gcuhipw92#

对于方法参数/参数对齐,您可以使用lib并对checkstyle -check-tfij-style进行额外检查。

1.将lib作为依赖项添加到您的maven-checkstyle-plugin(也可与Gradle配合使用),例如:

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-checkstyle-plugin</artifactId>
    <version>3.2.0</version>
    <configuration>
        <configLocation>src/main/resources/checkstyle.xml</configLocation>
        <encoding>UTF-8</encoding>
        <consoleOutput>true</consoleOutput>
        <failsOnError>true</failsOnError>
        <linkXRef>false</linkXRef>
    </configuration>
    <executions>
        <execution>
            <id>validate</id>
            <phase>validate</phase>
            <goals>
                <goal>check</goal>
            </goals>
        </execution>
    </executions>
    <dependencies>
        <dependency>
            <groupId>pl.tfij</groupId>
            <artifactId>check-tfij-style</artifactId>
            <version>1.3.0</version>
        </dependency>
    </dependencies>
</plugin>

2.配置检查样式检查,例如:

<module name="TreeWalker">
    <module name="MethodParameterAlignment"/>
    <module name="MethodParameterLinesCheck">
      <property name="allowSingleLine" value="false"/>
    </module>
  </module>

注意事项

该库包含更多有用的检查。请阅读自述文件以了解更多详细信息-check-tfij-style

相关问题