统一开发工具配置

规范

Posted by Yezhiwei on October 26, 2021

为什么要统一开发工具

理论上无论使用哪个工个都可以,但是之前遇到过这样的情况,有人习惯使用 Eclipse 的自动格式化代码,每次提交代码都有一大堆的变化,仔细对比过后才发现仅是格式变化了,或是 improt 顺序变化了等等,多人提交代码时产生冲突,其实只是格式风险不一样,为了排除类似这样的困扰,使大家编码风格统一,所以,统一使用 IDEA 作为开发工具,代码格式和注释格式统一化。

统一编码

采用 4 个空格缩进,禁止使用 tab 字符。

说明:如果使用 tab 缩进,必须设置 1 个 tab 为 4 个空格。IDEA 设置 tab 为 4 个空格时, 请勿勾选 Use tab character;而在 Eclipse 中,必须勾选 insert spaces for tabs。

IDE 的 text file encoding 设置为 UTF-8;IDE 中文件的换行符使用 Unix 格式,不要使用 Windows 格式。

自动导包

Auto Import 功能可以帮助我们自动删除无用的包(未被引用的),以及自动 Import 填充尚未导入的包。完全智能化地帮助我们在开发程序时,省略了导包的操作,大大优化了开发的效率。

设置步骤:Preferences→Editor→General→Auto Import

勾选:

  • Add unambiguous imports on the fly:快速添加明确的导入。
  • Optimize imports on the fly:快速优化导入,优化的意思即自动帮助删除无用的导入。

image-20211026150626945

自动导包 * 号问题

刚使用 IDEA 会发现,Import 相同包下很多类的时候,IDEA 会自动用 * 代替。

为了保持代码和原来在 Eclipse 里(不使用 * 代替)写的一样,可以做如下设置。

找到:Preferences→Editor→Code Style→Java→Imports

配置:

  1. 将 Class count to use import with ““:改为 99(导入同一个包的类超过这个数值自动变为
  2. 将 Names count to use static import with “*”:改为 99(同上,但这是静态导入的)
  3. 将 Package to Use import with “*“:删掉默认的这两个包(不管使用多少个类,只要在这个列表里都会变为 )

image-20211026150819638

Import 导入包顺序调整

项目开发工具从 Eclipse 迁移到 IDEA,由于 IDEA 的 Import 包顺序和原来 Eclipse 的不一致,导致每次对比文件 Import 部分都有变动。

可以调整 IDEA 的导包顺序和 Eclipse 一致:

找到:Settings→Editor→Code Style→Java→Imports

修改 Import Layout 顺序为:

import java.*
import javax.*
空行
import org.*
空行
import com.*
空行
import all other imports
空行
import static all other imports

参考:https://www.jianshu.com/p/dab337159b83

IDEA代码格式化

插件安装

因阿里提供的代码格式化配置是基于 Eclipse 的,如需在 IDEA 中使用此配置,需要安装Eclipse Code Formatter插件,并把配置文件导入。

image-20211026154224426

配置代码格式化文件模板

阿里模板下载地址:https://github.com/alibaba/p3c/tree/master/p3c-formatter

将代码格式化文件 eclipse-codestyle.xml,配置到插件中:

image-20211026160000282

代码格式化使用

(1)格式化部分代码

选中需要格式化代码,快捷键:win->ctrl+alt+L mac->option+command+L

(2)格式化整个文件

在需要格式化的文件中,快捷键:win->ctrl+alt+L mac->option+command+L

(3)格式化整个项目(慎用)

IDEA 中,项目上右键->Reformat Code

如已经存在的项目初次使用统一的代码格式化,建议在一个时间点将整个项目统一进行一次代码格式化。避免单独的格式化,导致部分研发人员的代码合并出现严重冲突。

注释模板

配置类注释模板

image-20211026161700094

新建类进行测试,输入类名,如下图

image-20211026165916778

比之前多了一步,需要输入类的描述信息,如下图

image-20211026165953523

生成类的效果,如下图

image-20211026170027981

配置 Live Template,配置好之后在类上输入 cc 然后回车就自动增加类注释

image-20211026171144255

配置方法注释模板

image-20211026162708756

image-20211026171352768

配置参数

// user
user()
// date
date("yyyy/MM/dd")
// time
time("HH:mm")
// param
groovyScript("if(\"${_1}\".length() == 2) {return '';} else {def result=''; def params=\"${_1}\".replaceAll('[\\\\[|\\\\]|\\\\s]', '').split(',').toList();for(i = 0; i < params.size(); i++) {result+='\\n' + ' * @param ' + params[i] + ' '}; return result;}", methodParameters());
// return
methodReturnType()

使用

在类上输入 cc 后,按下回车键,即可在类上方生成类注释

在方法上输入 fn 后,按下回车键,即可在方法上方生成方法注释