小知识,大挑战!本文正在参与“程序员必备小知识”创作活动
背景
最近新项目大家都配置了 vjtools 的 代码格式化模板,但是在每个人更新代码以后,还是会出现需要格式化的情况,导致每个人格式化后的结果不一致。
在网上找了些资料没找到为什么会出现这种情况。
由于公司在 gitlab 服务端使用了阿里巴巴 P3C 检测机制,在阿里巴巴的仓库也找到了代码格式化文件,所以把代码格式化模板统一改造成阿里的。
准备工作
- 插件安装
- Eclipse Code Formatter
- Save Actions
- 插件安装完成以后重启IDEA
- 下载 eclipse-codestyle.xml 文件到本地固定目录,IDEA引用此文件,请勿删除
- 注意:
Eclipse Code Formatter配置生效范围为workspace如果切换工作空间切记重新配置
安装IDEA Eclipse Formatter插件
推荐安装Save Actions插件
插件配置
Eclipse Code Formatter 插件配置
Other Settings下面找到Eclipse Code FormatterEclipse formatter config模块下选择下载的eclipse-codestyle.xml文件- 看不到
Browse...按钮的话把窗口拉宽,或者拖到下发滚动条 - 点击
OK使配置生效
Save Actions 插件配置
文件头注释配置
/**
* @author ${USER}
* @date ${DATE}
*/
关于安装阿里巴巴代码检测的文章已经很多了,这里不在赘述。
TIPS
遇到不想自动格式化的代码怎么处理?
- 开启 IDEA formatter 注释支持
-
在代码中不需要格式化的地方添加
@formatter:off注释 -
在不需要格式化代码的最后一行后开启格式化功能
@formatter:on -
示例代码
// @formatter:off
MockConfig mockConfig = new MockConfig()
.doubleRange(0,1).decimalScale(5).globalConfig()
.subConfig(ResultData.class, "status").numberRegex("1")
.subConfig("subjectName").stringRegex("语文")
.subConfig("telephone").stringRegex("13[0-9]{9}")
.globalConfig();
// @formatter:on
关闭P3C检测
- 在方法或者类上添加以下注解
@SuppressWarnings("PMD")