IDEA 是程序员用的最多的开发工具,很多程序员想把它打造成一站式开发工具,于是安装了各种各样的插件。通过插件在 IDEA 中完成各种操作,无需安装其他软件,确实很方便!今天给大家分享下我平时常用的 IDEA 插件,个个是精品!
Key Promoter X 是一款帮助你快速学习 IDEA 快捷键的插件,当你在 IDEA 中用鼠标点击某些功能时,它会自动提示你使用该功能的快捷键。它能让你更轻松地摆脱使用鼠标功能,从而只使用键盘来开发,这大概是刚开始使用 IDEA 的程序员最需要的插件了。
当我们使用鼠标完成某些工作时,Key Promoter X 会提示对应的快捷键,方便我们更快地掌握 IDEA 的快捷键。
Lombok 目前已经是开发 Java 应用的标配了,不仅 SpringBoot 默认支持它,连 IDEA 也内置了 Lombok 插件,无需安装即可使用。Lombok 是一款 Java 代码功能增强库,通过 Lombok 的注解,你可以不用再写 getter、setter、equals 等方法,Lombok 将在编译时为你自动生成。
举个例子,当我们给一个类添加@Getter 和@Setter 注解后;
/**
* 修改订单费用信息参数
* Created by macro on 2018/10/29.
*/
@Getter
@Setter
public class OmsMoneyInfoParam {
@ApiModelProperty("订单ID")
private Long orderId;
@ApiModelProperty("运费金额")
private BigDecimal freightAmount;
@ApiModelProperty("管理员后台调整订单所使用的折扣金额")
private BigDecimal discountAmount;
@ApiModelProperty("订单状态:0->待付款;1->待发货;2->已发货;3->已完成;4->已关闭;5->无效订单")
private Integer status;
}
Lombok 就会为我们自动生成所有属性的 Getter 和 Setter 方法,无需我们再手写,具体使用可以参考Lombok 的使用[1] 。
MybatisX 是一款基于 IDEA 的快速开发插件,由 MyBatis-Plus 团队开发维护,提示很全功能也很强大。支持 xml 和 Mapper 接口之间的跳转,自带图形化的代码生成器,可以通过类似 JPA 的方式,直接根据方法名称生成 SQL 实现。
我们点击 Mapper 接口方法左侧的图标可以直接跳转到 xml 中对应的 SQL 实现,在 xml 点击左侧图标也可以直接跳转到 Mapper 接口中对应的方法。
当我们创建符合 JPA 规范的方法时,能直接生成 SQL 实现无需手写,MyBatisX 的功能很强大,详细使用可以参考MybatisX 插件的使用[2] 。
RestfulFastRequest 号称是 IDEA 版本的 Postman,它是一个功能强大的 Restful API 工具包插件,可以根据已有的方法快速生成接口调试用例。它有一个漂亮的界面来完成请求、检查服务器响应、存储你的 API 请求和导出 API 请求,该插件能帮助你在 IDEA 内更快更高效地调试 API!
下面是使用 RestfulFastRequest 调试 API 接口的一张效果图,用起来还是非常方便的,具体使用可以参考RestfulFastRequest 插件的使用[3] 。
PlantUML 是一款开源的 UML 图绘制工具,支持通过文本来生成图形,使用起来非常高效。可以支持时序图、类图、对象图、活动图、思维导图等图形的绘制。
下面使用 PlantUML 来绘制一张流程图,可以实时预览,速度也很快,具体使用可以参考PlantUML 插件的使用[4] 。
SequenceDiagram 是一款能根据代码生成时序图的插件,还支持在时序图上直接导航到对应代码以及导出为图片或 PlantUML 文件。
下面是一张使用 SequenceDiagram 制作的时序图,还是非常不错的,具体使用可以参考SequenceDiagram 插件的使用[5] 。
一款能根据 JSON 字符串自动生成实体类的插件,支持 Lombok。
选择类名,右键生成,输入 JSON 字符串即可快速生成对应实体类。
一款简单小巧的 JSON 格式化插件,还在使用在线工具格式化 JSON?试试这款 IDEA 插件吧!
直接打开右侧面板,输入 JSON 字符串即可快速格式化,支持折叠显示。
一款专业处理字符串的插件,支持各种格式代码命名方式的切换、支持各种语言的转义和反转义、支持字符加密、支持多个字符的排序、对齐、过滤等。总之功能很强大,有需要字符串操作时,可以试试它。
选中需要处理的字符串,右键打开菜单即可开始使用。
MapStruct 是一款基于 Java 注解的对象属性映射工具,使用的时候我们只要在接口中定义好对象属性映射规则,它就能自动生成映射实现类,不使用反射,性能优秀。
当我们使用它的 IDEA 插件时,他能自动提示映射对象所包含的属性,并且在点击属性时能跳转到对应属性,具体使用可以参考MapStruct 的使用[6] 。
阿里巴巴《Java 开发手册》配套插件,可以实时检测代码中不符合手册规约的地方,助你码出高效,码出质量。
比如说手册里有这么一条:
当我们违反手册规约时,该插件会自动检测并进行提示。
同时提供了一键检测所有代码规约情况和切换语言的功能。
如果你想修改某条规约的检测规则的话,可以通过设置的Editor->Inspections
进行修改。
CloudToolkit 是阿里出品的一款 IDEA 插件,通过它我们可以更方便地实现自动化部署,其内置的终端工具和文件上传功能,即使用来管理服务器也非常方便!这款 IDEA 插件不仅功能强大,而且完全免费!
配置好服务器后,通过它可以一件打包上传到服务器,然后自动执行指定的脚本。
其内置了一个终端工具,提示还挺全的,如果你想在 IDEA 里管理 Linux 服务器,不妨可以试试,具体使用可以参考CloudToolkit 插件的使用[7] 。
img
基于 IDEA 开发的 Arthas 命令生成插件,支持 Arthas 官方常用的命令,比如 watch、trace、ognl static、ognl bean method、field、monitor、stack 、tt 等命令。
img
直接打开右键菜单,选择 Arthas 命令即可快速生成命令,具体使用可以参考Arthas 使用教程[8] 。
img
IDEA 官方提供的 Docker 插件,已内置,支持远程 Docker 环境的镜像和容器管理,同时支持使用 Docker Compose 实现批量部署。
img
通过它能自动打包应用的镜像,jar 包会直接上传到远程服务器并打包成镜像,具体使用可以参考IDEA 官方 Docker 插件的使用[9] 。
img
解决 Maven 依赖冲突的好帮手,可以快速查找项目中的依赖冲突,并予以解决!
img
我们可以通过pom.xml
文件底部的依赖分析
标签页查看当前项目中的所有依赖。
img
通过冲突
按钮我们可以筛选出所有冲突的依赖,当前项目guava
依赖有冲突,目前使用的是18.0
版本。
img
选中有冲突的依赖,点击Exclude
按钮可以直接排除该依赖。
img
同时pom.xml
中也会对该依赖添加
标签,是不是很方便啊!
img
一款帮你分析控制台日志的插件,可以对不同级别的日志进行不同颜色的高亮显示,还可以用来按关键字搜索日志内容。
img
当项目打印日志的时候,可以发现不同日志级别的日志会以不同颜色来显示。
img
如果你需要修改配色方案的话,可以通过Tools
打开该插件的配置菜单。
img
然后通过配置菜单修改配色方案。
img
可以通过在控制台右键并使用Grep
按钮来调出日志分析的窗口。
img
然后直接通过关键字来搜索即可。
img
IDEA 官方出品的一款 Markdown 插件,支持编辑 Markdown 文件并进行预览,对于习惯了使用 IDEA 的小伙伴还是非常方便的。
img
使用它来编辑 Markdown 文件最方便的地方在于,可以直接使用 IDEA 提供的各种快捷键,无需适应一套新的快捷键。
img
一款翻译插件,支持 Google、有道、阿里、百度翻译,对我们看源码时翻译注释很有帮助!
img
直接选中需要翻译的内容,点击右键即可找到翻译按钮;
img
直接使用翻译文档
可以将整个文档都进行翻译;
img
还可以通过右上角的翻译按钮直接翻译指定内容。
img
一款代码统计工具,可以用来统计当前项目中代码的行数和大小。
img
我们可以通过顶部菜单中的View->Tool Windows->Statistic
按钮开启该功能。
img
此时就可以看到我们项目代码的统计情况了,比如我的开源项目mall
中java
代码大小为2818kB
,行数为85645
。
img
Vue.js 支持插件,写过前端的朋友肯定用过,可以根据模板创建
.vue
文件,也可以对 Vue 相关代码进行智能提示。
img
启用该插件后,可以根据模板新建.vue
文件。
img
当我们在标签中写入以v-
开头的代码时,会提示 Vue 中的相关指令。
以上是我常用的 20 款 IDEA 插件,涵盖了大部分应用场景,平时开发的时候基本上也够用了。不过 IDEA 插件虽然能增强它的功能,给我们提供一站式的开发体验,但是也不要安装过多,太多了容易卡!
[1]
Lombok 的使用: https://juejin.cn/post/6911476307528253453
[2]
MybatisX 插件的使用: https://juejin.cn/post/7137856634075742244
[3]
RestfulFastRequest 插件的使用: https://juejin.cn/post/7098511464708702239
[4]
PlantUML 插件的使用: https://juejin.cn/post/7017988314053492767
[5]
SequenceDiagram 插件的使用: https://juejin.cn/post/7134877521182457869
[6]
MapStruct 的使用: https://juejin.cn/post/7026151729997561869
[7]
CloudToolkit 插件的使用: https://juejin.cn/post/7114097885267886116
[8]
Arthas 使用教程: https://juejin.cn/post/7103706246586302495
[9]
IDEA 官方 Docker 插件的使用: https://juejin.cn/post/7111500936547139614