以google 的java 风格为基准,以后面的开发中,都需要满足这个,主要用到的是google的两个插件:google-java-format, google_checks.xml代码格式检测,这两个堪称双剑合并,代码成诗。google-java-format替换idea的格式,自动格式化为google风格,google_checks二次检测是否满足google风格标准。
代码类头注释模板:
/**
* 这个类是:
* @author: wang guang shuai
* @date: ${DATE} ${TIME}
* @version: 1.0
*/
auther配置成自己的名字,一般是名字全拼
-
去掉通配符引用
idea自带的格式化,在同一个包下面引用的类达到一定数量时,就会转成通配符引用,这个不符合google的代码风格,需要去掉,在idea中如下配置,设置为999
-
安装google-java-format插件
安装成功这后,需要配置启google java format插件
添加参数配置,使google-java-format生效:
添加 配置参数:
--add-exports=jdk.compiler/com.sun.tools.javac.api=ALL-UNNAMED
--add-exports=jdk.compiler/com.sun.tools.javac.code=ALL-UNNAMED
--add-exports=jdk.compiler/com.sun.tools.javac.file=ALL-UNNAMED
--add-exports=jdk.compiler/com.sun.tools.javac.parser=ALL-UNNAMED
--add-exports=jdk.compiler/com.sun.tools.javac.tree=ALL-UNNAMED
--add-exports=jdk.compiler/com.sun.tools.javac.util=ALL-UNNAMED
这样,使用code-> format code时,就会格式化为google风格的代码了
-
安装保存时自动格式
设置save action生效:
-
安装代码风格检查
在代码中右键,
选择google checks
-
处理 Javadoc的第一句缺少一个结束时期
这个检查感觉就有点画蛇添足了,它要求在注释的后面必须有一个点,也就是英文句号,中国人的习惯一般是没有这个的,如果想要去掉它,就得配置google check style的配置文件了,下载地址: https://github.com/checkstyle/checkstyle/blob/master/src/main/resources/google_checks.xml
将此文件下载,放到项目根目录中,
然后配置选项:
然后在代码中右键,就可以选择这个配置了:
去掉注释末尾的句号检查:
具体的配置说明可以参考:google check style 说明文档: https://checkstyle.org/checks/javadoc/summaryjavadoc.html
另外,也可以配置到pom.xml之中,这样就可以使用mvn命令去执行代码风格检测了,在build中添加:
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.6.1</version>
<configuration>
<source>${java.version}</source>
<target>${java.version}</target>
<encoding>${project.build.sourceEncoding}</encoding>
</configuration>
</plugin>
<!-- 配置代码风格检测插件 -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-checkstyle-plugin</artifactId>
<version>3.3.1</version>
<dependencies>
<!--指定依赖的checkstyle版本,它要和google_checks.xml的版本匹配-->
<dependency>
<groupId>com.puppycrawl.tools</groupId>
<artifactId>checkstyle</artifactId>
<version>10.12.7</version>
</dependency>
</dependencies>
<!--指定配置文件-->
<configuration>
<!-- 此文件与pom.xml同级 -->
<configLocation>checkstyle.xml</configLocation>
<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>
</plugin>
</plugins>
</build>
配置好之后,可以使用命令检测:mvn checkstyle:check
注意,如果是在window的cmd窗口中执行,中文会乱码,因为window的cmd窗默认是GBK格式的,而mvn命令输出的是UTF-8。
在idea之中,可以点击这里执行:
另外要注意的是,在maven中配置完代码风格检测插件之后,在对项目进行打包时,也会默认执行检测,这个可以在开发环境下执行,看是否有不符合规则的代码,但是在正式上线打包时刚是不需要的,要不然打包速度会降低,可以跳过代码风格检测:
mvn clean pacakge -Dcheckstyle.skip=true
修改代码的缩进
google代码规范默认是缩进2个空格,tab也是2个空格,但是有时候我们需要按idea的风格缩进4个空格,这个需要就需要下载intellij-java-google-style.xml 配置了,点击下载
然后在idea中配置:
选择刚才下载的xml文件,导入成功之后,在这个配置页面上就可以修改了:
或者是直接修改google-style.xml文件:
注意,在使用intellij-java-google-style.xml 这个方式之后,要禁用google-java-format插件,因为它自己还会默认下载一份。