日常的业务功能开发,大部分情况下,核心代码差不多只占了项目的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款插件,不出意外,相信大家的开发效率一定会有一个质的飞跃...