
日常的业务功能开发,大部分情况下,核心代码差不多只占了项目的20%,剩下的80% 基本就是一些体力活,配置项等;这80%的代码,却消耗了我们大量的时间,而这部分代码,也不会对我们带来大的提升,今天给大家推荐12款我个人常用的优质的插件,旨在快速帮大家完成这80%体力代码,将更多的时间投入在核心功能的开发,告别加班,告别996!

1Easy Code
一个能帮我们快速将表映射成 Spring 项目中Entity、Controller、Dervice、Dao、Mapper等文件,快速实现基础功能的插件
插件安装
插件中心搜索Easy Code 安装即可

插件使用
第一步,添加一个数据源,连接对应的数据库

第二步
在数据源中找到对应的表,右键选择Easy Code,即可快速生成

2Easy Javadoc
一键快速帮你生成属性、方法、类文档注释的插件,文档注释轻松搞定
安装
插件中心搜索Easy Javadoc

插件需要用到在线翻译,以下是各个平台api key的申请入口,可以根据自己的喜欢,申请对应的key,个人使用的话,每月的免费额度基本都能满足
-  有道智云翻译申请地址:https://ai.youdao.com/ 
-  百度翻译申请地址:https://api.fanyi.baidu.com/doc/21 
-  腾讯翻译申请地址:https://cloud.tencent.com/document/product/551/7372 
-  阿里云翻译申请地址:https://www.aliyun.com/product/ai/alimt 
-  微软翻译申请地址:https://azure.microsoft.com/ 
-  谷歌翻译(需要魔法)申请地址:https://cloud.google.com/ 
配置
在file -> settings -> other settings - EasyDoc中找到配置界面,分别配置上翻译的api key(必须)、自定义词库映射(可选)、模板信息(可选)

win 快捷键
| 快捷键 | 作用域 | 说明 | 
|---|---|---|
| ctrl \ | 类、方法、属性(光标放上面就行,不要双击选中!) | 生成当前文档注释 | 
| ctrl \ | 选中的中文 | 生成选中的中文的英文命名 | 
| ctrl \ | 选中的非中文 | 弹框展示翻译结果 | 
| ctrl shift \ | 类 | 生成全部文档注释 | 
mac 快捷键
| 快捷键 | 作用域 | 说明 | 
|---|---|---|
| command \ | 类、方法、属性(光标放上面就行,不要双击选中!) | 生成当前文档注释 | 
| command \ | 选中的中文 | 生成选中的中文的英文命名 | 
| command \ | 选中的非中文 | 弹框展示翻译结果 | 
| command shift \ | 类 | 生成全部文档注释 | 

其中 "dashabi" 就使用了自定义"小可爱"的映射

问题说明
-  不翻译 按了快捷键,只生成了如下的空注释 /** * **/就是翻译配置未生效,可以到各个翻译平台申请一下api key,配置上即可 
-  快捷键无效 快捷键有可能被其他软件给占用了,可以在 Settings -> Keymap -> Plug-ins -> Easy Javadoc中找到并设置一个新的快捷键
3Bito
一款非常实用的智能化聊天机器人插件,集成了GPT,可以为开发人员提供更快更准确的交互编程环境,不用魔法也能使用,能大大提升开发效率,之前也给大家推荐过,详细的使用教程可参考:IDEA 用上这款免费 GPT4 插件,生产力爆表了
4aiXcoder
国内首款基于深度学习的智能化软件开发工具,利用AI技术实现代码⾃动⽣成、代码⾃动补全、代码智能搜索等功能,提升开发者开发效率与代码质量
安装

使用
-  开启云端服务 这里需要注册账号,登录,按着提示,一步步操作即可  
-  代码补全  
5Lombok
Lombok 是一款针对 Java 语言的编译时插件,用于通过注解自动化生成重复的代码,减少一些常规的 Java 代码书写。
依赖
<dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId><version>1.18.26</version>
</dependency>
插件
Lombok 不仅需要依赖,还需要安装对应的插件,在插件中心搜索Lombok,安装重启即可

使用
在使用 Lombok 之前,一个对象的get、set、tostring,构造方法等等,写起来还是非常麻烦的,一个简单的对象,就需要写下面这么多代码:
/*** @author 公众号:一行Java* @title: UserInfo* @projectName ehang-spring-boot* @description: TODO* @date 2023/9/15 9:15*/
public class UserInfo {private String userName;private Integer age;public UserInfo() {}public UserInfo(String userName, Integer age) {this.userName = userName;this.age = age;}public String getUserName() {return userName;}public void setUserName(String userName) {this.userName = userName;}public Integer getAge() {return age;}public void setAge(Integer age) {this.age = age;}@Overridepublic boolean equals(Object o) {if (this == o) return true;if (o == null || getClass() != o.getClass()) return false;UserInfo userInfo = (UserInfo) o;return new EqualsBuilder().append(userName, userInfo.userName).append(age, userInfo.age).isEquals();}@Overridepublic int hashCode() {return new HashCodeBuilder(17, 37).append(userName).append(age).toHashCode();}@Overridepublic String toString() {return "UserInfo{" +"userName='" + userName + '\'' +", age=" + age +'}';}
}
但一旦引入 Lombok ,这个事情就变的非常简单,三个注解就能实现上面的所有方法,代码也变得非常简洁,清爽;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;/*** @author 公众号:一行Java* @title: UserInfo* @projectName ehang-spring-boot* @description: TODO* @date 2023/9/15 9:15*/
@Data
@AllArgsConstructor
@NoArgsConstructor
public class UserInfo {private String userName;private Integer age;}
Lombok 支持的注解及说明
-  @Getter/@Setter: 自动生成字段的 getter 和 setter 方法。
-  @ToString: 自动生成 toString 方法。默认情况下,生成包含所有字段的 toString 方法。
-  @EqualsAndHashcode: 自动生成 equals 和 hashCode 方法。默认情况下,生成包含所有非静态、非transient 字段的 equals 和 hashCode 方法。
-  @NoArgsConstructor/@RequiredArgsConstructor/@AllArgsConstructor: 自动生成无参构造方法、必须参数构造方法、全参构造方法。
-  @Data: 自动生成 getter、setter、equals、hashCode、toString 方法。
-  @Builder: 自动生成建造者模式的代码,用于创建复杂对象。
-  @Log: 自动生成日志记录变量,支持不同的日志框架,例如@Slf4j用于集成 SLF4J。
-  @NoArgsConstructor(force = true)/@AllArgsConstructor(force = true): 自动生成无参构造方法、全参构造方法,并将字段设置为 final。
-  @Cleanup: 自动管理资源,主要用于清除需要手动释放的资源,例如 IO 流。
-  @SneakyThrows: 在方法体中自动捕捉并重新抛出异常,无需显式地进行异常处理。
-  @NonNull: 生成非空检查代码。
-  @Accessors: 提供链式调用风格的 setter 和 getter 方法。
-  @Value: 创建不可变类,字段为 final,并自动生成 getter 方法。
-  @Wither: 自动生成属性的不可变更新方法。
-  @EqualsAndHashCode(callSuper = true): 生成包含父类字段的 equals 和 hashCode 方法。
6被禁用Lombok
当你所在的公司/团队禁止使用 Lombok 插件,只允许使用传统的方式来写get、set、toString这些基础方法,有没有方式能快速生成这些繁琐的体力活儿呢?IDEA 其实已经帮我们内置了快速生成这些方法的功能;
按下快捷键Alt + Insert
或者在对象中点击鼠标右键,选择Generate...

选择你要生成的内容,就能快速生成对应的方法

7GsonFormatPlus
一款用于快速将 Json 转换成 Java 对象的插件;现在的系统,前后端交互,绝大部分都使用了 Json ,因此在解析 Json 的时候,都需要一个对象来接收,使用这块工具,就可以通过 Json 文本,快速生成一个用于接收的 Java 对象,省去了逐个手敲属性的繁琐体力;
安装插件
在插件中心搜索GsonFormatPlus,安装即可;

使用
使用快捷键:Alt + S
或者使用 Alt + Insert,然后选择GsonFormatPlus
又或者,在对象中点击鼠标右键,选择Generate,再选择GsonFormatPlus
左侧粘贴 Json 文本,点击 OK ,选择要生成的属性,下一步即可完成

8GenerateAllSetter
一款一键调用set、get方法的插件;当开发中遇到一个大对象需要初始化,或者要获取一个大对象中的属性时,就单纯是调用他的get、set方法,就能让人写的人手软,这款插件就能完美的帮我们解决这个体力活。
插件安装

插件使用
-  一键调用set,get方法 首先,鼠标的光标放在对象所处的行 然后使用快捷键 Alt + Enter,选择是生成get还是set,几个生成,set的生成有两种方式,一种是不赋值,一种是赋予属性的默认值,可以根据自己的实际情况来定: 
-  一键转换对象 当我们需要做对象转换时,比如,模型对象转换成 DTO 对象,也可以借助这个插件一键生成  
9String Manipulation
String 是使用最为频繁的数据类型,String Manipulation 插件能帮我们快速完成 String 的转换,如:大小写切换,排序,递增,转义,编码等。还支持对字符串的各种加、解密(MD5、Base64等)操作;基本包含了 String 常用的所有操作
安装

快捷键
Alt + m
使用
以下是驼峰命名转换、加解密、大小写转换的示例

还有更多的功能,可以根据自己的需要来选用

10Restfultoolkit
一套 RESTful 服务开发辅助工具集,完美代替Postman;在 IDEA 中即可完成接口的测试,同时也能快速所搜接口,大大提高我们的检索,测试效率。
安装
插件中心搜索Restfultoolkit 即可快速安装

快捷键
Ctrl + Alt + N
使用
-  快速搜索接口 当有Bug的时候,后端开发人员可能经常需要根据接口名称/地址来找到接口位置,全局的搜索 Ctrl + Shift + R是搜索的所有内容,要筛选出想要的内容还挺麻烦的;如果是自己写的代码,找起来也还能接受,一旦项目大,代码不熟悉,就如同大海捞针;那么就可以借助这个工具,来快速搜索接口,快捷键:Ctrl + Alt + N 
-  接口测试 右侧的菜单中包含了项目中的所有接口,可以直接编辑请求对象快速发起接口测试  
-  对象转Json 前面介绍了如何将 Json 串转换成 Java 对象,借助这个插件,就能快速将对象转换成 Json 文本串  
11Key promoter X
当年,从 Eclipse 转 IDEA 的时候,快捷键就是最大的障碍之一;能熟练的使用快捷键,将能大大提高编码的效率;Key promoter X 就是一款协助记忆快捷键的插件
安装
插件中心搜索Key promoter X 即可

效果
当你没使用快件操作某个功能时,插件就会提醒你其对应的快捷键是什么,日积月累,慢慢记忆

12Free Mybatis plugin
一款能帮助我们在 MyBatis 中实现 Mapper 与 xml 之间跳转的插件
安装
插件中心搜索Free Mybatis plugin

使用


熟练运用这12款插件,不出意外,相信大家的开发效率一定会有一个质的飞跃...