如何配置checkstyle中的suppressions

如题所述

  CheckStyle 配置是通过指定modules 来应用到Java文件的。
  配置文件在net.sf.eclipse.cor.***.jar 里sun_checks.xml sun_checks_eclipse.xml
  在自己配置文件的时候可以参考sun 的规范来定义。
  1.CheckyStyle配置文件的修改:
  Window -> Preferences -> CheckStyle
  New -> External Configuration File -> Name -> Location -> OK
  Set as Default -> OK !
  现在就可以对自己的配置进行修改了。
  2.增加或删除文件中的属性
  2.1 Window -> preferences -> xxx(自己的配置文件)
  在CheckStyle Configer 中可以 Add 或者Remove任意的选项,并修改properties或severity.
  五:
  我的CheckStyle配置:
  <?xml version=“1.0” encoding=“UTF-8”?>
  <!DOCTYPE module PUBLIC “-//Puppy Crawl//DTD Check Configuration 1.3//EN” “http://www.puppycrawl.com/dtds/configuration_1_3.dtd”>
  <!--
  This configuration file was written by the eclipse-cs plugin configuration editor
  -->
  <!--
  Checkstyle-Configuration: abc
  Description: none
  -->
  <module name=“Checker”>
  <property name=“severity” value=“warning”/>
  <!-- module的根节点 -->
  <module name=“TreeWalker”>
  <module name=“PackageName”>
  <property name=“severity” value=“warning”/>
  <property name=“format” value=“^[a-z]+(\.[a-z_][a-z0-9_]*)*$”/>
  <message key=“name.invalidPattern” value=“包名 ''{0}'‘要匹配 ''{1}'’的格式(所有字母全部小写)。”/>
  </module>
  <module name=“TypeName”>
  <property name=“severity” value=“warning”/>
  <message key=“name.invalidPattern” value=“名字 ''{0}'' 要符合 ''{1}'‘的格式(建议每个单词的首字母大写)。”/>
  </module>
  <module name=“MethodName”>
  <property name=“severity” value=“warning”/>
  <property name=“format” value=“^[a-z][a-zA-Z]*$”/>
  <message key=“name.invalidPattern” value=“方法名 ''{0}'' 必须要满足 ''{1}'’的格式,建议除首单词外每个单词的首字母大写。”/>
  <message key=“method.name.equals.class.name” value=“方法名 ''{0}'' 不能等于类名。”/>
  </module>
  <module name=“ParameterName”>
  <property name=“severity” value=“warning”/>
  <message key=“name.invalidPattern” value=“变量 ''{0}'‘要匹配''{1}'’的格式,建议除首单词外的每个单词的首字母大写。”/>
  </module>
  <module name=“MemberName”>
  <property name=“severity” value=“warning”/>
  <message key=“name.invalidPattern” value=“变量 ''{0}'' 要匹配‘'{1}'’的格式(建议除首单词外的单词的首字母小写)。”/>
  </module>
  <module name=“ConstantName”>
  <property name=“severity” value=“warning”/>
  <message key=“name.invalidPattern” value=“常量 ''{0}'' 要匹配‘'{1}'’的格式(字母全部大写可以包含_)。”/>
  </module>
  <module name=“LocalFinalVariableName”>
  <property name=“severity” value=“warning”/>
  <message key=“name.invalidPattern” value=“局部final变量 ''{0}'' 要匹配‘'{1}'’的格式(建议除首单词外的单词的首字母大写)。”/>
  </module>
  <module name=“LocalVariableName”>
  <property name=“severity” value=“warning”/>
  <property name=“tokens” value=“PARAMETER_DEF,VARIABLE_DEF”/>
  <message key=“name.invalidPattern” value=“局部变量 ''{0}'' 要匹配‘'{1}'’的格式(建议除首单词外的单词的首字母大写)。”/>
  </module>
  <module name=“StaticVariableName”>
  <message key=“name.invalidPattern” value=“静态非final变量 ''{0}'' 要匹配‘'{1}'’的格式(建议除首单词外的单词的首字母大写)。”/>
  </module>
  <module name=“MethodLength”>
  <property name=“severity” value=“warning”/>
  <property name=“max” value=“80”/>
  <property name=“tokens” value=“CTOR_DEF,METHOD_DEF”/>
  <message key=“maxLen.method” value=“方法大小不可以超过80行。”/>
  </module>
  <module name=“ParameterNumber”>
  <property name=“severity” value=“warning”/>
  <property name=“tokens” value=“CTOR_DEF,METHOD_DEF”/>
  <message key=“maxParam” value=“方法参数个数不能超过7个。”/>
  </module>
  <module name=“LineLength”>
  <property name=“severity” value=“warning”/>
  <message key=“maxLineLen” value=“每一行的最大长度为80个字符。”/>
  </module>
  <module name=“CyclomaticComplexity”>
  <property name=“severity” value=“warning”/>
  <property name=“max” value=“4”/>
  <message key=“cyclomaticComplexity” value=“方法内嵌套不能超过4级。”/>
  </module>
  <module name=“BooleanExpressionComplexity”>
  <property name=“severity” value=“warning”/>
  <property name=“max” value=“7”/>
  <property name=“tokens” value=“BXOR,BAND,LAND,BOR,LOR”/>
  <message key=“booleanExpressionComplexity” value=“布尔表达式的复杂度不能超过7.”/>
  </module>
  <module name=“ArrayTypeStyle”>
  <property name=“severity” value=“warning”/>
  <message key=“array.type.style” value=“数组定义要采取String [] args这种方式。”/>
  </module>
  <module name=“Indentation”>
  <property name=“severity” value=“warning”/>
  <message key=“indentation.error” value=“你缩进了{1}个空格,正确应该缩进 {2}个空格。”/>
  <message key=“indentation.child.error” value=“你缩进了{1}个空格,正确应该缩进 {2}个空格。”/>
  </module>
  <module name=“AvoidStarImport”>
  <property name=“severity” value=“warning”/>
  <message key=“import.avoidStar” value=“避免引用包时使用*号。”/>
  </module>
  <module name=“IllegalImport”>
  <message key=“import.illegal” value=“{0}为非法包。”/>
  </module>
  <module name=“RedundantImport”>
  <property name=“severity” value=“warning”/>
  <message key=“import.same” value=“引入了同一个包中的类- {0}。”/>
  <message key=“import.duplicate” value=“在第{0,number,integer}行已经引入了此包- {1}。”/>
  <message key=“import.lang” value=“{0},可以去掉。”/>
  </module>
  <module name=“FinalClass”>
  <property name=“severity” value=“warning”/>
  <message key=“final.class” value=“类{0}要声明是final类,或者删除其私有构造函数。”/>
  </module>
  <module name=“InterfaceIsType”>
  <property name=“severity” value=“warning”/>
  </module>
  <module name=“HideUtilityClassConstructor”>
  <property name=“severity” value=“warning”/>
  <message key=“hide.utility.class” value=“实用类(只包含静态属性和静态方法)不应该有一个公共的或者默认构造函数。”/>
  </module>
温馨提示:内容为网友见解,仅供参考
无其他回答
相似回答