IntelliJ IDEA是目前最好最强最智能的Java IDE,前几天,他刚刚年满18岁。

本文,给大家推荐几款我私藏已久的,自己经常使用的,可以提升代码效率的插件。
常见的IDEA插件主要有如下几类:
Java日常开发需要接触到很多常用的工具,为了便于使用,很多工具也有IDEA插件供开发使用,其中大部分已经在IDEA中默认集成了。例如maven、git、svn、tomcat、jetty、jrebel、Gradle等。
还有些插件提供了一些IDE中不具有的功能,比如静态代码扫描、代码自动生成等。
集成框架主要是为了提供框架定制的代码和配置的生成,以及快速的访问框架提供的功能。例如集成Spring框架,Mybatis框架等。
UI定制化相关的插件主要提供一下个性化需求定制,例如修改编辑区的背景图片插件、修改代码颜色等。
IDEA主要支持Java,为了使用其他语言,可以使用一些支持其他语言的插件,通过这些插件可以实现语法分析,配色主题,代码格式化和提示等功能。例如Go语言的支持的插件。
公司内部插件
这里简单介绍一些笔者日常开发中使用到的插件。 以下是我的IDEA中自己安装的插件列表。这些插件都是我经过很长时间的使用之后最终保留下来的,都是值得安装的一些插件。其中被我打码的就是公司内部插件。

IDEA的插件安装非常简单,对于很多插件来说,只要你知道插件的名字就可以在IDEA里面直接安装。
Preferences--->Plugins--->查找所需插件--->Install
或者
Preferences--->Plugins--->Install plug from disk --->选择下载好的插件安装
安装之后重启IDEA即可生效
IntelliJ IDEA激发了许多Java开发人员编写插件, IntelliJ IDEA Plugins( plugins.jetbrains.com/?idea )中目前包含3000+个插件并且还在不断增长。

作者目前使用的IntelliJ IDEA版本是专业版2018.2.4(Ultimate Edition)

很多插件中提供的功能在这个版本中都已经集成进来了,这里简单说几个可能比较常用的,这几种功能就无需加装插件了。
目前,IDEA支持设置背景图片。这对于广大程序员来说无疑是个好功能。整日对着枯燥的代码实在是会让人疲乏。要是可以设置一张美女图片的话。。。
Ctrl+Shift+A(或者help -> find action)调用弹窗后输入Set Background Image

在里面设定要设置为Image的图片,透明度调到15左右,保存即可。


目前IntelliJ IDEA已经有一个内置的terminal工具,可以方便的使用shell命令。

目前很多新版本的IntelliJ IDEA中,已经内置了很多support插件,比如我们常用的markdown support 、UML support 以及 android support等。

PS:由于作者使用的是专业版,不知道社区版是否也会内置这些插件,如果没有内置的话,读者可以根据需要自行下载相关插件并安装。
有了markdowm support插件以后,就可以直接预览md语法的内容了。

目前,Java开发很多都在使用maven进行项目管理和自动构建。
日常开发中,可能经常会遇到jar包冲突等问题,就需要通过查看maven依赖树来查查看依赖情况。这种方式不是很高效,这里推荐一个插件,安装之后,直接打开pom文件,即可查看依赖数,还能自动分析是否存在jar包冲突。
一旦安装了Maven Helper插件,只要打开pom文件,就可以打开该pom文件的Dependency Analyzer视图(在文件打开之后,文件下面会多出这样一个tab)。

进入Dependency Analyzer视图之后有三个查看选项,分别是Conflicts(冲突)、All Dependencies as List(列表形式查看所有依赖)、All Dependencies as Tree(树结构查看所有依赖)。并且这个页面还支持搜索。
FindBugs很多人都并不陌生,Eclipse中有插件可以帮助查找代码中隐藏的bug,IDEA中也有这款插件。
使用方法很简单,就是可以对多种级别的内容进行finbugs

分析完之后会有一个视图进行提示,详细的说明是哪种问题。
 按照提示解决完问题之后再执行findbug查看情况即可。
2017年10月14日杭州云栖大会,Java代码规约扫描插件全球首发仪式正式启动,规范正式以插件形式公开走向业界,引领Java语言的规范之路。
Java代码规约扫描插件以今年年初发布的《阿里巴巴Java开发规约》为标准,作为Eclipse、IDEA的插件形式存在,检测JAVA代码中存在不规范得位置然后给予提示。规约插件是采用kotlin语言开发的,感兴趣的同学可以去开看插件源码。
阿里巴巴规约插件包含三个子菜单:编码规约扫描、关闭试试检测功能。

并且,该插件支持在编写代码的同时进行提示,

这款插件,真的可以很大程度上提升代码质量,一定要安装。
Java开发中,经常有把json格式的内容转成Object的需求,比如项目开始时,合作方给你提供了一个json格式request/response,这时候你就需要将其定义成一个Java类,GsonFormat这款插件可以实现该功能。

在Java中,我们经常会定义很多JavaBean,这些Bean需要有getter、setter、toString、equals和hashCode等方法。
通常情况下,我们可以使用IDEA的快捷键生成这些代码,但是自动生成的代码后,如果bean中的属性一旦有修改,需要重新生成,给代码维护增加了一定的负担。
有一款很好的插件,可以帮助开发者节省这部分工作。那就是Lombok。
只要在IDEA中安装了该插件,只需要在JavaBean中添加一行注解代码,插件就会自动帮我们生成getter、setter、toString、equals和hashCode等方法。
当然,这些方法不止在IDE中的代码调用中需要用到,在真正线上部署的时候也需要有,所以,还需要使用maven引入一个lombok的包。
<dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> <version>1.16.10</version> </dependency> /** * @author Hollis */ public class HollisLab { public static void main(String[] args) { Wechat wechat = new Wechat(); wechat.setId("Hollis"); wechat.setDesc("每日更新Java技术文章"); System.out.println(wechat); } } @Data class Wechat { private String id; private String desc; } 复制代码
输出结果:
Wechat(id=Hollis, desc=每日更新Java技术文章) 复制代码
我们在Wechat类上面添加了@Data注解,插件就自动帮我们添加了getter/setter和toString方法。
字符串日常开发中经常用到的,但是不同的字符串类型在不同的地方可能有一些不同的规则,比如类名要用驼峰形式、常量需要全部大写等,有时候还需要进行编码解码等。这里推荐一款强大的字符串转换工具——String Manipulation。
它强大到什么程度,看下他的功能列表你就知道了:

安装好插件后,选中需要处理的内容后,按快捷键Alt+m,即可弹出工具功能列表。
很好很强大的一款字符串处理工具。
目前很多开发都在使用git做版本控制工具,但是有些时候有些代码我们是不想提到到我们的代码仓库中的,比如ide自动生成的一些配置文件,或者是我们打包生成的一些jar文件等,这时候就需要编写一个.ignore文件,来排除那些不想被版本管理的文件。
这里推荐一个好用的插件.ignore,他可以帮我们方便的生成各种ignore文件。
安装插件后,选中项目,右键新建的时候,会多出一个.ignore文件的选项,可以通过这个选项创建ignore文件。

在弹出的对话框中,可以自动帮我们生成一份.ignore文件,这里我们让其帮忙自动排除所有和idea有关的文件。

目前ORM框架中,Mybatis非常受欢迎。但是,同时给很多开发带来困扰的就是Mybatis需要很多xml的配置文件,有的时候很难去进行修改。
这里推荐一款神器,可以让你像编辑java代码一样编辑mybatis的文件。
Intellij Idea Mybatis插件主要功能:

 (图源: www.oschina.net/p/intellij-…但是这款插件是收费的,但是不影响他确实是一个很实用,可以很大程度上提升开发效率的插件。读者可以考虑使用Free Mybatis plugin(这款插件我没用过,具体是否好用有待考证)。
对于很多刚刚开始使用IDEA的开发者来说,最苦恼的就是不知道快捷键操作是什么。
使用IDEA,如果所有操作都使用鼠标,那么说明你还不是一个合格的程序员。
这里推荐一款可以进行快捷键提示的插件Key promoter X。
Key Promoter X 是一个提示插件,当你在IDEA里面使用鼠标的时候,如果这个鼠标操作是能够用快捷键替代的,那么Key Promoter X会弹出一个提示框,告知你这个鼠标操作可以用什么快捷键替代。
当我使用鼠标查看一个方法都被哪些类使用的时候,就会提示:

记住这个快捷键以后,就可以使用快捷键代替鼠标啦。
前面介绍了一款可以通过使用快捷键来代替鼠标操作的插件,这里再介绍一款可以彻底摆脱鼠标的插件,即AceJump
AceJump允许您快速将光标导航到编辑器中可见的任何位置,只需点击“ctrl +;”,然后输入一个你想要跳转到的字符,之后键入匹配的字符就跳转到你想要挑战的地方了。

如以上代码,我想在这个类中,跳转到println那个位置,只需要按下快捷键:“ctrl +;”,然后输入println,即可定位到目标位置。
上图中,我输入了pri三个字母后,页面提示三个可选项,分别用字母G、H、D标注,这时候只需要按下对应字母,即可快速定位到指定位置,是不是很方便。
最后,介绍一款程序员很好的在妹子面前装X的插件——activate-power-mode 。
安装了这款插件之后,你写代码的时候,就会附加一些狂拽炫酷屌炸天的效果: