google-java-format 配置及应用

以google 的java 风格为基准,以后面的开发中,都需要满足这个,主要用到的是google的两个插件:google-java-format, google_checks.xml代码格式检测,这两个堪称双剑合并,代码成诗。google-java-format替换idea的格式,自动格式化为google风格,google_checks二次检测是否满足google风格标准。

代码类头注释模板:

/**
 * @desc: 
 * @author: wang guang shuai
 * @date: ${DATE} ${TIME}
 * @version: 1.0
 */

auther配置成自己的名字,一般是名字全拼
在这里插入图片描述

  1. 去掉通配符引用
    idea自带的格式化,在同一个包下面引用的类达到一定数量时,就会转成通配符引用,这个不符合google的代码风格,需要去掉,在idea中如下配置,设置为999
    在这里插入图片描述

  2. 安装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风格的代码了

  1. 安装保存时自动格式
    在这里插入图片描述
    设置save action生效:
    在这里插入图片描述

  2. 安装代码风格检查
    在这里插入图片描述
    在代码中右键,
    在这里插入图片描述
    选择google checks
    在这里插入图片描述

  3. 处理 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插件,因为它自己还会默认下载一份。
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/288352.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

RS485数据采集模块,如何一次采集多个modbus设备数据?

在工业数据采集中&#xff0c;RS485是一种常见的数据通信协议&#xff0c;而Modbus则是其上的常用设备协议。那么&#xff0c;如何用一个模块高效采集多个Modbus设备的数据呢&#xff1f;这就是我们今天要探讨的话题&#xff01; 什么是RS485数据采集模块&#xff1f; 首先&a…

算法28:力扣64题,最小路径和------------样本模型

题目&#xff1a; 给定一个二维数组matrix&#xff0c;一个人必须从左上角出发&#xff0c;最后到达右下角 。沿途只可以向下或者向右走&#xff0c;沿途的数字都累加就是距离累加和 * 返回累加和最小值 思路&#xff1a; 1. 既然是给定二维数组matrix&#xff0c;那么二维数…

FreeRTOS——队列及其实战

1.队列概念 1&#xff09;队列是任务到任务、任务到中断、中断到任务数据交流的一种机制&#xff08;消息传递&#xff09; 2&#xff09;队列类似数组&#xff0c;只能存储有限数量、相同类型的数据&#xff0c;在创建时需指定队列长度与队列项大小 3&#xff09;出队入队阻塞…

xshell登录不上虚拟机了

电脑重启后连不上本地虚机了 1、关闭防火墙 2 虚拟机ping得到主机&#xff0c;而主机ping不到虚拟机的解决办法 原因&#xff1a;可能是主机的网络适配器没有调好 首先&#xff0c;找到虚拟机的网络配置器 根据虚拟机的IP信息修改主机虚拟适配器VMnet8 修改ip使得和虚拟机连…

Element-ui自定义input框非空校验

1、vue自定义非空指令&#xff1a; main.js中自定义非空指令 当input框或下拉框中数据更新时&#xff0c;触发校验 Vue.directive(isEmpty,{update:function(el,binding,vnode){if(vnode.componentInstance.value""){el.classList.add("is-required");}e…

[Unity]实时阴影技术方案总结

一&#xff0c;Planar Shadow 原理就是将模型压扁之后绘制在需要接受阴影的物体上&#xff0c;这种方式十分高效&#xff0c;消耗很低。具体实现过程参考Unity Shader - Planar Shadow - 平面阴影。具按照自己的理解&#xff0c;其实就是根据光照方向计算片元在接受阴影的平面…

详解卡尔曼滤波(Kalman Filter)

1. 从维纳滤波到卡尔曼滤波 黑盒&#xff08;Black Box&#xff09;思想最早由维纳&#xff08;Wiener&#xff09;在1939年提出&#xff0c;即假定我们对从数据到估计中间的映射过程一无所知&#xff0c;仅仅用线性估计&#xff08;我们知道在高斯背景下&#xff0c;线性估计…

计算机创新协会冬令营——暴力枚举题目01

首先是欢迎大家参加此次的冬令营&#xff0c;我们协会欢迎所有志同道合的同学们。话不多说&#xff0c;先来看看今天的题目吧。 题目 力扣题号&#xff1a;2351. 第一个出现两次的字母 注&#xff1a;下述题目和示例均来自力扣 题目 给你一个由小写英文字母组成的字符串 s &…

RocketMQ5.0Pop消费模式

前言 RocketMQ 5.0 消费者引入了一种新的消费模式&#xff1a;Pop 消费模式&#xff0c;目的是解决 Push 消费模式的一些痛点。 RocketMQ 4.x 之前&#xff0c;消费模式分为两种&#xff1a; Pull&#xff1a;拉模式&#xff0c;消费者自行拉取消息、上报消费结果Push&#x…

探索Allure Report:提升自动化测试效率的秘密武器

亲爱的小伙伴们&#xff0c;由于微信公众号改版&#xff0c;打乱了发布时间&#xff0c;为了保证大家可以及时收到文章的推送&#xff0c;可以点击上方蓝字关注测试工程师成长之路&#xff0c;并设为星标就可以第一时间收到推送哦&#xff01; 一.使用 Allure2 运行方式-Python…

【操作系统xv6】学习记录4 -CPU上下文:进程上下文、线程上下文、中断上下文

什么是cpu上下文 CPU 寄存器和程序计数器就是 CPU 上下文&#xff0c;因为它们都是 CPU 在运行任何任务前&#xff0c;必须的依赖环境。 什么是 CPU 上下文切换 先把前一个任务的 CPU 上下文&#xff08;也就是 CPU 寄存器和程序计数器&#xff09;保存起来&#xff0c;然后…

equals()比较字符串和MySQL中=比较结果不一致

问题&#xff1a; 普通车辆入园统计结果数量和普通车辆统计列表数量不一致&#xff1f; 列子&#xff1a;数量:967&#xff0c;列表:974 解决问题步骤 对比统计数量和统计列表的统计方法 统计数量代码实现 一&#xff1a;查询出车辆滞留表数据List 二&#xff1a;查询出…

112. 雷达设备(贪心/逆向思考)

题目&#xff1a; 112. 雷达设备 - AcWing题库 输入样例&#xff1a; 3 2 1 2 -3 1 2 1输出样例&#xff1a; 2 思路&#xff1a; 代码&#xff1a; #include <cstdio> #include <cstring> #include <iostream> #include <algorithm> #include<…

海外住宅IP代理的工作原理和应用场景分析,新手必看

海外住宅IP代理作为一种技术解决方案&#xff0c;为用户提供了访问全球网络资源和维护隐私安全的方法。本文将介绍海外住宅IP代理的工作原理和应用场景&#xff0c;帮助读者更好地理解和利用这一技术。 一、工作原理 海外住宅IP代理的工作原理基于代理服务器和IP地址的转发。它…

【springboot配置文件加载源码分析】

在Spring Boot的源码中&#xff0c;配置文件的加载是在应用程序启动的早期阶段进行的。具体来说&#xff0c;配置文件加载的主要步骤发生在SpringApplication类的run()方法中的prepareEnvironment方法中&#xff0c;真正读取我们的配置文件还是PropertySourceLoader。 本篇博客…

Docker安装Flarum(开源论坛)

Flarum介绍安装命令 #---------------------------------------------------------- mkdir -p /opt/flarum && cd /opt/flarum #---------------------------------------------------------- docker run -p 8888:8888 --name flarum \ --restartalways \ -v /opt/flar…

靠着这份年终总结,我涨薪8K,成为领导眼中最闪亮的星~

2023 年即将接近尾声&#xff0c;各大公司的“测试媛/猿”们又到了提交年终总结报告的时候了。 每年到这个时候都是抓耳挠腮、冥思苦想的时候&#xff0c;猛然一想&#xff0c;今年跟去年做的事情好像差不多&#xff0c;那么年终总结可以敷衍了事么&#xff1f; 当然是不可以…

chatGPT带你学习设计模式 (二)抽象工厂模式(创建型模式) GURU

深入理解抽象工厂模式 引言 在面向对象编程中&#xff0c;对象的创建是一个常见且关键的挑战。尤其在需要管理一系列相关对象的创建时&#xff0c;传统的对象创建方法&#xff08;如直接使用 new 关键字&#xff09;可能导致代码的高耦合和低灵活性。这时&#xff0c;抽象工厂…

rime中州韵小狼毫 中英互绎 滤镜

英文在日常生活中已经随处可见&#xff0c;我们一般中英互译需要使用专业的翻译软件来实现。但如果我们在输入法中&#xff0c;在输入中文的时候&#xff0c;可以顺便瞟一眼对应的英文词汇&#xff0c;或者在输入英文的时候可以顺便了解对应的中文词汇&#xff0c;那将为我们的…

【Qt第三方库】QXlsx库——对 Excel 文件进行相关操作

0 前言 关键词&#xff1a;Qt&#xff1b;Excel&#xff1b;QXlsx&#xff1b;QInt 简介&#xff1a; QXlsx 是第三方开源的库&#xff0c;能够对 Excel 文件进行相关操作&#xff08;读写等&#xff09; 地址&#xff1a; QXlsx官网 QXlsx的Github主页 1 快速上手 对于第一次…
最新文章