统一开发工具配置

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

为什么要统一开发工具


理论上无论使用哪个工具都可以,但是之前遇到过这样的情况,有人习惯使用 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-20211026162708756image-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 后,按下回车键,即可在方法上方生成方法注释

相关文章
|
4月前
|
消息中间件 缓存 运维
云his系统源码 SaaS应用 功能易扩 统一对外接口管理
运营运维 系统运维、综合监管、系统运营
51 1
|
3月前
当需求范围不统一的时候该怎么办?
当需求范围不统一的时候该怎么办?
|
4月前
|
弹性计算 运维 监控
资源管理-高效管理多账号的标签规范
云上多账号资源管理解决方案,通过标签进行资源人财务管理,管理第一步就是需要进行标签的规范定义及确认,为后续管理、运维、分账、分权、监控等场景做数据准备。如何快速进行多账号标签实践?如何通过持续改进规范持续建设?形成飞轮为管理提效。如何解决增量资源标签不规范问题?如何解决存量资源标签不规范检测及修复?通过产品能力快速实现标签标准使用。
57289 1
|
4月前
|
算法 搜索推荐 C++
统一结果封装
统一结果封装
17 0
|
数据采集 存储 监控
这个数据资产管理框架你了解吗
ITU-T F.743.21定义了一个数据资产管理框架及其相应的对象、活动和支持。数据资产管理的对象是数据资产,包括主数据、元数据和其他数据资产。
这个数据资产管理框架你了解吗
|
安全 前端开发 中间件
4A 统一安全管控组件介绍
4A 统一安全管控组件介绍
955 0
4A 统一安全管控组件介绍
|
运维 监控 网络协议
统一运维监控平台设计思路
一、 监控平台的思路 二、 ganglia的安装 三、 yum方式安装ganglia
统一运维监控平台设计思路
|
运维
业务架构图规范
业务架构图规范
1393 0
业务架构图规范
|
安全 前端开发 中间件
云巧核心组件巡礼 - 4A 统一安全管控组件
its better to run than curst the road初心相信很多小伙伴在刚刚接触项目交付时会发出相同的感慨项目交付的低水平。我们提出为企业做全面数字化转型很多年了。 但是在项目实际执行的过程中,常常的会陷入劳动密集型的堆人,堆代码的节奏中。 代码缺乏设计,稳定性听天由命。项目沉淀难因为项目 deadline 的紧迫,往往能成功交付便万事大吉。 虽然希望可以在项目中沉淀一些能力
云巧核心组件巡礼 - 4A 统一安全管控组件
|
数据采集 运维 Devops
企业构建统一CMDB数据源
本实践将指导企业客户在多账号的云上IT架构下,一站式的采集全量资源配置数据、资源配置历史、资源关系数据,将这些数据稳妥留存并快捷消费到自有的CMDB平台,加快企业自有CMDB的构建。
企业构建统一CMDB数据源