前言
IDEA插件没有绝对的好坏,每个人的需求不一样,选择合适的插件,并定期清理和维护,才能提高效率,否则适得其反。
Rainbow Brackets 会将不同层级的括号用不同的颜色标记出来,很快就能分辨出括号的对应关系,避免括号匹配错误。
我更喜欢默认的括号高亮显示,它已经足够清晰了,不需要额外的颜色区分,反而眼花缭乱的颜色可能会造成视觉上的干扰,所以没有使用Rainbow Brackets。
CodeGlance 在编辑器右侧生成一个代码的缩略图,可以快速定位到代码的任何位置,但是它占用了显示代码的部分屏幕空间,而且一般通过搜索来定位,所以没有使用CodeGlance。
Key Promoter X 用于自动提示鼠标操作对应快捷键。
因为我已经学习了IDEA的使用,已经熟悉IDEA快捷键,因此我不需要依赖Key Promoter X的实时提示。
下面开始讲解我使用的IDEA插件,我的 IDEA 版本是IntelliJ IDEA 2020.3.2 (Ultimate Edition)。
Lombok
Lombok依赖库通过注解自动生成getter、setter等方法,减少代码量,不过因为IDEA无法识别Lombok注解,实例调用getter、setter方法是会有错误提示的,
而Lombok 插件的作用则是提示和校验实体类的getter、setter方法,避免错误提示。
Generate All Getter And Setter
Generate All Getter And Setter 有以下功能:
1.使用 .allget 生成所有 getter 方法。
2.使用 .allset 生成所有不带默认值的 setter 方法。
- 使用 .allsetv 生成所有带默认值的 setter 方法。
比 GenerateAllSetter 好用
JRebel
要想在程序运行时重新加载修改的代码,而不需要重新启动整个应用程序,可以使用两种热部署工具:devtools和JRebel。
要使用devtools,要在项目中添加依赖。在修改了某个Java文件后,不需要重启项目,只需要重新构建项目即可。
虽然devtools非常方便,但它有一些限制。例如,它只能用于Spring Boot应用,而且无法在生产环境中使用。推荐使用 JRebel
使用JRebel有相关异常抛出可能是版本问题,IDEA版本需要兼容JRebel版本,如果不想升级IDEA,可以下载低版本的JRebel,
如果由于项目JDK版本问题,必须使用相应高版本的JRebel,那么就要升级IDEA了,或者,不升级IDEA,使用devtools。
比如IntelliJ IDEA 2020.3.2推荐使用JRebel 2021.1.2。
JRebel各版本下载地址
Spring Boot 热部署:从devtools到JRebel的探索
Java热加载(JRebel)与Devtools热部署 - 思凡念真 - 博客园
背景切换
切换背景图片的插件有三款:
- Background Image Rotation
- Background Image Plus +
- Background Image Plus
Background Image Plus +继承了Background Image Plus的意志,Background Image Rotation继承了Background Image Plus +的意志,
因此推荐使用最新的Background Image Rotation。
Background Image Rotation每隔一段时间以随机顺序选择文件夹中的一张图片,每一轮都会选完文件夹的图片。
View | Random Order Reset
重新开始下一轮,随机选择第一张图片作为背景,View | Random Background Image
随机选择本轮中的下一张图片作为背景。
Grep Console
Grep Console 用于管理控制台输出语句。
Grep Console支持为指定的输出语句配置指定的样式。比如可为启动成功语句配置为绿色。
screenshot_17407.png (1048×390)
Grep Console支持在原有控制台开一个控制台,可用于过滤原有控制台的输出语句,只关注需要的输出语句。
screenshot_17407.png (1048×390)
CamelCase
CamelCase 支持使用Shift + Alt + U
切换变量名的各种命名格式,
比如大驼峰命名,小驼峰命名,下划线命名之间互相切换。请在File | Settings | Camel Case
查看更多变量名的格式。
Save Actions X
Save Actions X 可以在保存时优化包导入,自动为没有修改的变量添加final
修饰符,调用方法的时候自动添加this
关键字等。
Statistic
Statistic 用于统计代码行数。
MyBatis相关插件
Free MyBatis Tool
支持生成代码,但是不支持自定义模板,不够灵活。
MyBatisX 的生成代码功能复制自Free MyBatis Tool并做了改进,
它使用的是FreeMarker模板引擎生成代码,支持自定义任意文件模板。更多功能请看Mybatis X文档 。
EasyCode 用于生成代码,
它使用的是Velocity模板引擎生成代码,支持自定义任意文件模板,可以生成任何与数据库相关的代码,不局限于Mybatis相关代码。
支持多个表多个模板批量生成。
MyBatisCodeHelperPro 为Mybatis映射文件提供了最好的代码提示功能,
还提供了文件跳转,代码提示,代码检查,代码生成等功能,部分功能需收费,代码生成不支持自定义模板。更多功能请看MyBatisCodeHelperPro文档 。
EasyCode-MybatisCodeHelper 是由MyBatisCodeHelperPro作者开发的,
它复制并改进了EasyCode的模板代码生成功能,比如支持在scratch的目录来配置代码模板,添加模板在线导入导出功能,可惜是闭源的。具体配置请看通过模版生成代码文档
注意,MyBatisX和MyBatisCodeHelperPro一起安装可能存在功能冲突,MyBatisX免费支持通过方法名生成sql功能,MyBatisCodeHelperPro是不支持的,
如果追求免费,那么推荐使用MyBatisX,如果想要完善的代码提示功能,那么推荐使用MyBatisCodeHelperPro。
关于代码生成功能,推荐使用EasyCode-MybatisCodeHelper,如果喜欢FreeMarker语法,那么推荐使用MyBatisX。
如果使用JRebel进行热加载,修改 MyBatis 的 XML 映射文件后,更改不会立即生效。这是因为JRebel默认不支持这种类型的热加载。我们可以安装JRebel mybatisPlus extension 来使MyBatis映射文件的修改也能实时生效。
IDE Eval Reset
IDE Eval Reset插件可以无限重置试用时间,从而实现永久使用,这是最简便的白嫖方法。
具体请看Jetbrains系列产品重置试用方法
注意,IDEA 2021.2.1是最后一个可以使用IDE Eval Reset插件的版本,因为后面的版本没有试用按钮了,无法点击试用了,也无法重置试用时间了。
静态代码分析插件
Idea本身具备静态代码分析功能,帮助静态分析代码中潜在的错误,而静态代码分析插件则增强了此部分功能。比如检测空指针异常、无限递归循环和无用变量等。
推荐使用SonarQube for IDE 和 spotbugs-idea 。
Alibaba Java Coding Guidelines 多年不更新,不推荐。
JSON插件
GsonFormatPlus 支持将JSON转实体类。
POJO to JSON 支持将实体类转为JSON。
Easy Javadoc
Easy Javadoc 支持为代码生成生成中文注释。
具体使用请看Easy Javadoc文档 。
Maven Helper
Maven Helper 可以在pom文件中分析并显示出相关依赖关系,且对于冲突的依赖进行标红,极大方便了排除冲突依赖的工作。
请求插件
EasyYapi 支持将请求方法导出到YApi,Postman或者Markdown中,以便快速请求测试。
Fast Request 支持快速生成请求方法对应的请求来进行测试。
具体使用请看Fast Request文档 。
Cool Request 和拥有强大的请求调用能力,
直接检测SpringBoot配置,可直接调用请求方法,而且可通过反射绕过拦截器,调用接口无需在配置Token。
同事支持手动触发任意一个方法,调试代码方便至极。具体使用请看Cool Request文档 。
总之,Fast Request插件和Cool Request插件提供了和请求相关的很多功能,都值得一试。
Redis Helper
Redis Helper 是免费的Redis客户端,支持修改键值。
JMH
JMH 插件支持整合JMH快速进行基准测试。
Markdown Image Support
Markdown Image Support 支持为md文件插入图片时自定义图片路径,支持上传图片到云服务。
LeetCode Editor
LeetCode Editor 支持生成LeetCode题目模板,快速刷题