统一开发工具配置

简介: 理论上无论使用哪个工具都可以,但是之前遇到过这样的情况,有人习惯使用 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月前
|
人工智能 运维 IDE
Claude Code神器:Manus同款文件规划法,价值20亿美元的工作流秘密
你有没有遇到过这种情况:给AI下个任务,聊了50轮后,它就开始"脑抽"了。 接口规范?忘了。 变量命名风格?混了。 你半小时前定的规则?直接抛到九霄云外。 你得一直提醒它,像保姆一样伺候它,效率低,还累。 但如果我告诉你,现在有个方法能让AI拥有"持久记忆"。 你只需要在项目里放三个Markdown文件,AI就会自动记录所有发现、避免重复踩坑、恢复断开的会话。 效率提升3
2239 9
|
10月前
|
Shell 测试技术 API
Claude Code 官方内部团队最佳实践!
Immerse,独立开发者、内容创作者、AGI实践者,分享编程、AI、开源等内容。关注公众号“沉浸式趣谈”及个人网站获取更新。欢迎点赞、评论、转发支持!本文介绍Claude Code——智能编程命令行工具及其使用技巧。
8065 0
|
数据采集 人工智能 API
Qwen2.5-Coder深夜开源炸场,Prompt编程的时代来了!
通义千问团队开源「强大」、「多样」、「实用」的 Qwen2.5-Coder 全系列,致力于持续推动 Open Code LLMs 的发展。
|
算法 Java Python
使用Python来绘制樱花树
本文以林徽因的《你是人间的四月天》为引,将春日意象与现代职场编程艺术结合,通过Python的Turtle模块绘制分形树和花瓣图案。文章详细解析了Turtle模块的使用方法、递归算法及随机性在图形生成中的应用,展示了如何用代码创造自然美感。核心代码包含tree函数(绘制分形树)和petal函数(绘制花瓣),最终生成一幅生动的春日画卷。项目不仅帮助读者掌握Turtle绘图技巧,更激发对编程艺术的兴趣,鼓励探索数字世界的无限可能。
438 5
|
Java Linux 数据库
|
人工智能 分布式计算 算法
3D-Speaker多模态说话人问题之3D-Speaker的开源代码和数据集如何获取
3D-Speaker多模态说话人问题之3D-Speaker的开源代码和数据集如何获取
672 1
|
前端开发 JavaScript Java
基于Springboot+Vue实现在线课程管理系统
基于Springboot+Vue实现在线课程管理系统
378 1
|
JavaScript 内存技术
nvm安装教程与nvm常见命令,超详细!
nvm安装教程与nvm常见命令,超详细!
|
存储 SQL 缓存
Alibaba Java Coding Guidelines
Alibaba Java Coding Guidelines:阿里巴巴编码规范!
|
JavaScript 前端开发 Java
Intellij IDEA和eclipse代码格式一致的商业解决方案
Intellij IDEA和eclipse代码格式一致的商业解决方案
1038 0
Intellij IDEA和eclipse代码格式一致的商业解决方案