Google Java Style Guide
google-java-format
google-java-format 插件可用于重新格式化 Java 源代码,。启用后,它将替换通常的 Reformat Code 操作。该操作可以通过Code->Reformat Code触发,也可以使用Ctrl+Alt+L
触发。
IDEA 中使用 google-java-format 插件
在 File->Settings->Plugins 中下载
从1.16.0版本起,google-java-format插件支持优化导入顺序
Shift+Ctrl+Alt+L
后勾选Optimize imports
在 File->Settings->google-java-format Settings 中勾选Enable google-java-format
在 File->New Peojects Setup->Seeting for New Projects->Other Settings->google-java-format Settings 中勾选Enable google-java-format
google-java-format 插件使用了一些内部类,需要一些额外的配置才可用。
在 Help->Edit Custom VM Options... 中加入以下设置
--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
完成后重启 IDE 即可。
git-code-format-maven-plugin
自动部署 google-java-format 代码格式化程序作为预提交 git 钩子的插件。
插件在 Maven 中使用
将以下代码添加到 pom.xml 文件中
pom.xml
<?xml version="1.0" encoding="UTF-8"?>
<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>
<groupId>com.home</groupId>
<artifactId>home-api</artifactId>
<version>1.0-SNAPSHOT</version>
<properties>
<maven.compiler.source>11</maven.compiler.source>
<maven.compiler.target>11</maven.compiler.target>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<git-code-format-maven-plugin.version>4.2</git-code-format-maven-plugin.version>
</properties>
<parent>
<artifactId>spring-boot-starter-parent</artifactId>
<groupId>org.springframework.boot</groupId>
<version>2.7.11</version>
</parent>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
<plugin>
<groupId>com.cosium.code</groupId>
<artifactId>git-code-format-maven-plugin</artifactId>
<version>${git-code-format-maven-plugin.version}</version>
<executions>
<!-- Format code during validate phase -->
<execution>
<id>formatter-hook</id>
<phase>validate</phase>
<goals>
<goal>format-code</goal>
</goals>
</execution>
<!-- On commit, format the modified files -->
<execution>
<id>install-formatter-hook</id>
<goals>
<goal>install-hooks</goal>
</goals>
</execution>
<!-- On Maven verify phase, fail if any file
(including unmodified) is badly formatted -->
<execution>
<id>validate-code-format</id>
<goals>
<goal>validate-code-format</goal>
</goals>
</execution>
</executions>
<dependencies>
<dependency>
<groupId>com.cosium.code</groupId>
<artifactId>google-java-format</artifactId>
<version>${git-code-format-maven-plugin.version}</version>
</dependency>
</dependencies>
</plugin>
</plugins>
</build>
</project>
一起回顾一下Maven的生命周期
在validate
阶段,git-code-format:format-code
格式化代码
在initialize
阶段,git-code-format:install-hooks
安装一个gitpre-commit
钩子
在verify
阶段,git-code-format:validate-code-format
验证代码格式
手动格式化代码
mvn git-code-format:format-code -Dgcf.globPattern=**/*
手动验证代码格式
mvn git-code-format:validate-code-format -Dgcf.globPattern=**/*
标签:插件,code,java,format,git,google,com From: https://www.cnblogs.com/-ori/p/17387411.html