-
介绍
CheckStyle是SourceForge下的一个项目,提供了一个帮助JAVA开发人员遵守某些编码规范的工具。它能够自动化代码规范检查过程,从而使得开发人员从这项重要,但是枯燥的任务中解脱出来。
现在就来看看CheckStyle,从安装、checkstyle规范的编写及配置。
-
安装CheckStyle插件
要使用 checkstyle 需要安装一个 插件 CheckStyle-IDEA,可以通过在线安装插件的方式去安装,如下图:
-
配置 checkstyle 文件
当安装好插件,打开 IDEA的设置页面 settings -> Other Settings 你会发现默认的 Checkstyle , 勾选就OK了,如下图。
其实在还可以点击上面绿色加号添加自定义checkstyle文件,该文件放在项目的根目录。在里面可以设置你想要的格式,如第一次跟我一样不会写的这里有个华为 CheckStyle文件自己可以去看。
如果不想向上面那样每次手动的去添加加载的话,可以用代码来加载,可以在项目的.idea文件中添加checkstyle-idea.xml和codesStyleSettings.xml两个文件:
- checkstyle-idea.xml
<?xml version="1.0" encoding="UTF-8"?> <project version="4"> <component name="CheckStyle-IDEA"> <option name="configuration"> <map> <entry key="active-configuration" value="PROJECT_RELATIVE:$PRJ_DIR$/checkstyle.xml:Google Checkstyle rules" /> <entry key="checkstyle-version" value="7.7" /> <entry key="location-0" value="PROJECT_RELATIVE:$PRJ_DIR$/checkstyle.xml:Google Checkstyle rules" /> <entry key="location-1" value="CLASSPATH:/sun_checks.xml:The default Checkstyle rules" /> <entry key="scan-before-checkin" value="false" /> <entry key="scanscope" value="JavaOnly" /> <entry key="suppress-errors" value="false" /> <entry key="thirdparty-classpath" value="" /> </map> </option> </component> </project>
- codesStyleSettings.xml
<?xml version="1.0" encoding="UTF-8"?> <project version="4"> <component name="ProjectCodeStyleSettingsManager"> <option name="PER_PROJECT_SETTINGS"> <value> <option name="IMPORT_LAYOUT_TABLE"> <value> <package name="java" withSubpackages="true" static="false" /> <package name="javax" withSubpackages="true" static="false" /> <emptyLine /> <package name="" withSubpackages="true" static="false" /> <emptyLine /> <package name="" withSubpackages="true" static="true" /> </value> </option> <codeStyleSettings language="JAVA"> <option name="RIGHT_MARGIN" value="120" /> <option name="SPACE_BEFORE_ARRAY_INITIALIZER_LBRACE" value="true" /> <option name="SPACE_BEFORE_ANNOTATION_ARRAY_INITIALIZER_LBRACE" value="true" /> <option name="IF_BRACE_FORCE" value="3" /> <option name="DOWHILE_BRACE_FORCE" value="3" /> <option name="WHILE_BRACE_FORCE" value="3" /> <option name="FOR_BRACE_FORCE" value="3" /> <indentOptions> <option name="INDENT_SIZE" value="2" /> <option name="CONTINUATION_INDENT_SIZE" value="4" /> <option name="TAB_SIZE" value="2" /> </indentOptions> </codeStyleSettings> </value> </option> <option name="USE_PER_PROJECT_SETTINGS" value="true" /> </component> </project>
自定义的checkstyle还需要在Maven pom.xml中配置就OK了,如下图:
- pom.xml
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> ...... <build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-checkstyle-plugin</artifactId> <version>2.17</version> <configuration> <configLocation>checkstyle.xml</configLocation> <encoding>UTF-8</encoding> <consoleOutput>true</consoleOutput> <failsOnError>true</failsOnError> <violationSeverity>warning</violationSeverity> </configuration> <dependencies> <dependency> <groupId>com.puppycrawl.tools</groupId> <artifactId>checkstyle</artifactId> <version>7.8</version> </dependency> </dependencies> </plugin> ...... </plugins> </build> </project>
到此,基本的配置就完毕了。现在 IDEA的控制面板会多一个 CheckStyle,你可以在这里方便的进行代码检查。可以点击面板的左上角下拉框 Rules 去动态切换不同的 checkstyle。