2025年 IDEA 插件推荐,告别低效!

news/2025/3/4 6:16:58/文章来源:https://www.cnblogs.com/Hoysing/p/18747040

前言

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 方法。

generate-all-getter.gif

2.使用 .allset 生成所有不带默认值的 setter 方法。

generate-all-setter-without-default-value.gif

  • 使用 .allsetv 生成所有带默认值的 setter 方法。

generate-all-setter-with-default-value.gif

比 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快速进行基准测试。
jmh.gif

Markdown Image Support

Markdown Image Support 支持为md文件插入图片时自定义图片路径,支持上传图片到云服务。

LeetCode Editor

LeetCode Editor 支持生成LeetCode题目模板,快速刷题

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/892444.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

web开发 辅助学习管理系统开发日记 day6

今天回学校了,下的雨好大,全身甚至被子都湿了,不过学习在于持之以恒,不能因为回学校就不学习。 废了好大劲完成了添加员工模块接下来分享一些在写代码中遇到的一些问题 Q1:首先本模块由数据库中的两个表组成分别是员工表与员工工作经历表需要现在员工表的实体类中定义一个工…

Python进阶教程

print for i in range(1, 10):for j in range(1, i + 1):print(f"{j} x {i} = {i * j}", end="\t")# print(*objects, sep= , end=\n, file=None, flush=False)# 当object为空时,则 print() 将只写入 end。# print默认自带换行的功能,因此 print("\…

C# 基础知识

int i=null; int? i=null; 我们用一个问号 来指定这个值类型是可空的 属性是只读的从上面可以看出来,s2指向的是常量值,后面局部变量的s1做任何修改都不会改变s2自身的值

2025-03-02 ip地址ping不通?==》安全组没有放行icmp

请在安全组添加规则,如图示例:但是!放行icmp只是其中一个解决方案,如果你放行了还不行,那你得参考更具体的文档,传送门:https://cloud.tencent.com/document/product/213/14639#CheckLinuxFirewall

【嵌入式分享1】通过反汇编定位死机问题原因

背景: 该问题是实际项目中,生产产线反馈的一例机器反复重启。 原因分析: 通过导出的日志可以看到死机原因是发生非法访问,日志如下:点击查看代码 LR :0007a18f PC :0005c7e0 Memory management fault is caused by data access violation The memory management fault oc…

JavaWeb学习(四)

JavaWeb学习(四):JavaScript 目录JavaWeb学习(四):JavaScript概念JS 引入方式JS 基础语法JS 函数JS 对象JS 事件监听 本文为个人学习记录,内容学习自 黑马程序员概念JavaScript,简称 JS,是一门跨平台、面向对象的脚本语言,用于控制网页行为 JavaScript 和 Java 是完全…

水晶分班5.21-分析记录

水晶分班5.21-分析记录 目录程序信息注册按钮事件-TfrmZc_btnZcClick_008C41B4浏览器回调-TForm1_WebBrowserZcDocumentComplete_008D6EDC启动时检验-TForm1_FormShow_008D71B0MG_MD5_81D008(todo)ps 程序信息 版本"5.21 <2024.9.7>" PE32操作系统: Windows(…

[Docker] 如何给 Docker 配置网络代理?

序 有时因为网络原因,比如公司 NAT,或其它啥的,需要使用代理。Docker 的代理配置,略显复杂,因为有三种场景。但基本原理都是一致的,都是利用 Linux 的 http_proxy 等环境变量。 概述:Docker 网络代理方案 方案1:Dockerd 代理在执行docker pull时,是由守护进程dockerd来…

牛客题解 | 验证IP地址

牛客题库题解题目 题目链接 题目主要信息:IPv4只有十进制数和分割点,其中数字在0-255之间,共4组,且不能有零开头的非零数,不能缺省 IPv6由8组16进制数组成,会出现a-fA-F,通过冒号分割,不可缺省,可以零开头,或者为一个单独零,每组最多4位。举一反三: 学会了本题的思…

牛客题解 | 链表中环的入口结点

牛客题库题解题目 题目链接 题目主要信息:给定一个链表,首先判断其是否有环,然后找到环的入口举一反三: 学习完本题的思路你可以解决如下题目: BM4.合并有序链表 BM5.合并k个已排序的链表 BM6.判断链表中是否有环 BM8.链表中倒数最后k个节点 BM9.删除链表的倒数第n个节点 B…

牛客题解 | 链表中环的入口结点_1

牛客题库题解题目 题目链接 描述 这是一篇针对初学者的题解,共用两种方法解决。 知识点:单链表,哈希,双指针 难度:二星题解 题目抽象:给定一个单链表,如果有环,返回环的入口结点,否则,返回nullptr 方法一:哈希法遍历单链表的每个结点 如果当前结点地址没有出现在set…

通过工艺对象的双轴同步设置

硬件导入导入GSDmlGSDml文件是从Starter导入的,所有驱动合成一个gsdml文件,需要同步的两个驱动使用的标准报文3:starter配置一些必要电机和铭牌信息即可,主要组态在工艺对象,所以电机测需要配置的不多。工艺对象配置添加主动轴,选择TO_PositioningAxis基本设置,直线运动就…