12款神级 IDEA 插件,让你少写 80% 的代码
大家好,我一航!
业务功能开发,大部分情况下,业务核心代码差不多只占了项目的20%,剩下的80% 基本就是一些体力活,配置项等;这80%的代码,却消耗了我们大量的时间,然而这部分代码,并不会对我们带来大的提升,今天给大家推荐12款我个人常用的优质的插件,旨在快速帮大家完成这80%体力代码,将更多的时间投入在核心功能的开发,告别加班,告别996!
Easy Code
一个能帮我们快速将表映射成 Spring 项目中 Entity
、Controller
、Dervice
、Dao
、Mapper
等文件,快速实现基础功能
插件安装
插件中心搜索 Easy Code
即可快速安装
插件使用
第一步,添加一个数据源,连接对应的数据库
第二步
在数据源中找到对应的表,右键选择 Easy Code
,即可快速生成
Easy 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
中找到并设置一个新的快捷键
Bito
一款非常实用的智能化聊天机器人插件,集成了GPT,可以为开发人员提供更快更准确的交互编程环境,不用魔法也能使用,能大大提升开发效率,之前也给大家推荐过,详细的使用教程可参考:IDEA 用上这款免费 GPT4 插件,生产力爆表了
aiXcoder
国内首款基于深度学习的智能化软件开发工具,利用AI技术实现代码⾃动⽣成、代码⾃动补全、代码智能搜索等功能,提升开发者开发效率与代码质量
安装
使用
-
开启云端服务
这里需要注册账号,登录,按着提示,一步步操作即可
-
代码补全
Lombok
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;
}
@Override
public 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();
}
@Override
public int hashCode() {
return new HashCodeBuilder(17, 37)
.append(userName)
.append(age)
.toHashCode();
}
@Override
public 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 方法。
被禁用Lombok
当你所在的公司/团队禁止使用 Lombok 插件,只允许使用传统的方式来写get、set、toString这些基础方法,有没有方式能快速生成这些繁琐的体力活儿呢?IDEA 其实已经帮我们内置了快速生成这些方法的功能;
按下快捷键 Alt + Insert
或者在对象中点击鼠标右键,选择 Generate...
选择你要生成的内容,就能快速生成对应的方法
GsonFormatPlus
一款用于快速将 Json 转换成 Java 对象的插件;现在的系统,前后端交互,绝大部分都使用了 Json ,因此在解析 Json 的时候,都需要一个对象来接受,使用这块工具,就可以通过 Json 文本,快速生成一个用于接受的 Java 对象,省去了逐个手敲属性的繁琐体力;
安装插件
在插件中心搜索 GsonFormatPlus
,安装即可;
使用
使用快捷键:Alt + S
或者使用 Alt + Insert
,然后选择 GsonFormatPlus
又或者,在对象中点击鼠标右键,选择 Generate
,再选择 GsonFormatPlus
左侧粘贴 Json 文本,点击 OK ,选择要生成的属性,下一步即可完成
GenerateAllSetter
一款一键调用set、get方法的插件;当开发中遇到一个大对象需要初始化,或者要获取一个大对象中的属性时,就单纯是调用他的get、set方法,就能让人写的人手软,这款插件就能完美的帮我们解决这个体力活。
插件安装
插件使用
-
一键调用set,get方法
首先,鼠标的光标放在对象所处的行
然后使用快捷键
Alt + Enter
,选择是生成get还是set,几个生成,set的生成有两种方式,一种是不赋值,一种是赋予属性的默认值,可以根据自己的实际情况来定: -
一键转换对象
当我们需要做对象转换时,比如,模型对象转换成 DTO 对象,也可以借助这个插件一键生成
String Manipulation
日常开发,String 是使用最为频繁的数据类型,String Manipulation 插件能帮我们快速完成 String 的转换,如:大小写切换,排序,递增,转义,编码等。还支持对字符串的各种加、解密(MD5、Base64等)操作;基本包含了 String 常用的所有操作
安装
快捷键
Alt + m
使用
以下是驼峰命名转换、加解密、大小写转换的示例
还有更多的功能,可以根据自己的需要来选用
Restfultoolkit
一套 RESTful 服务开发辅助工具集,完美代替Postman;在 IDEA 中即可完成接口的测试,同时也能快速所搜接口,大大提高我们的检索,测试效率。
安装
插件中心搜索 Restfultoolkit
即可快速安装
快捷键
Ctrl + Alt + N
使用
-
快速搜索接口
当有Bug的时候,后端开发人员可能经常需要根据接口名称/地址来找到接口位置,全局的搜索
Ctrl + Shift + R
是搜索的所有内容,要筛选出想要的内容还挺麻烦的;如果是自己写的代码,找起来也还能接受,一旦项目大,代码不熟悉,就如同大海捞针;那么就可以借助这个工具,来快速搜索接口,快捷键:Ctrl + Alt + N
-
接口测试
右侧的菜单中包含了项目中的所有接口,可以直接编辑请求对象快速发起接口测试
-
对象转Json
前面介绍了如何将 Json 串转换成 Java 对象,借助这个插件,就能快速将对象转换成 Json 文本串
Key promoter X
当年,从 Eclipse 转 IDEA 的时候,快捷键就是最大的障碍之一;能灵活的使用快捷键,将能大大提高编码的效率;Key promoter X
就是一款能协助记忆快捷键的插件
安装
插件中心搜索 Key promoter X
即可
效果
当你没使用快件操作某个功能时,插件就会提醒你其对应的快捷键是什么
Free Mybatis plugin
一款能帮助我们在 MyBatis 中实现 Mapper 与 xml 之间跳转的插件
安装
插件中心搜索 Free Mybatis plugin
使用
熟练运用这12款插件,不出意外,相信大家的开发效率一定会有一个质的飞跃...