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>