IntelliJ IDEA是目前最好最强最智能的Java IDE,默认已经集成了几乎所有主流的开发工具和框架。在这里不讨论Idea和Eclipse的关系,感兴趣的朋友可以看文章结尾推荐的几篇关于Idea和Eclipse的讨论文章。这里介绍几款笔者自己常用的Idea插件。
IDEA插件简介
常见的IDEA插件主要有如下几类:
常用工具支持
Java日常开发需要接触到很多常用的工具,为了便于使用,很多工具也有IDEA插件供开发使用,其中大部分已经在IDEA中默认集成了。例如maven、git、svn、tomcat、jetty、jrebel、Gradle等。
框架集成
集成框架主要是为了提供框架定制的代码和配置的生成,以及快速的访问框架提供的功能。例如集成Spring框架,Mybatis框架等。
UI定制化及优化
UI定制化相关的插件主要提供一下个性化需求定制,例如修改编辑区的背景图片插件、修改代码颜色等。
其他编程语言支持
IDEA主要支持Java,为了使用其他语言,可以使用一些支持其他语言的插件,通过这些插件可以实现语法分析,配色主题,代码格式化和提示等功能。例如Go语言的支持的插件。
个人或者公司特殊需求
公司内部插件
实用插件介绍
这里简单介绍一些笔者日常开发中使用到的插件。 以下是我的IDEA中自己安装的插件列表。我会主要介绍这些插件。其中被我打码的就是公司内部插件。
IDEA插件安装
IDEA的插件安装非常简单,对于很多插件来说,只要你知道插件的名字就可以在IDEA里面直接安装。
Preferences—>Plugins—>Browse repositories—>Install (联网安装)
或者
Preferences—>Plugins—>Install plug from disk —>选择下载好的插件安装 (本地安装)
安装之后重启IDEA即可生效
IDEA插件仓库
IntelliJ IDEA激发了许多Java开发人员编写插件, IntelliJ IDEA Plugins中目前包含1597个插件并且还在不断增长,可以到这里查看IDEA插件。
Maven Helper
我一般用这款插件来查看maven的依赖树。在不使用此插件的情况下,要想查看maven的依赖树就要使用Maven命令maven dependency:tree来查看依赖。想要查看是否有依赖冲突也可以使用mvn dependency:tree -Dverbose -Dincludes=:只查看关心的jar包,但是这样还是需要我执行命令,并且当项目比较复杂的时候,这个过程是比较漫长的。maven helper就能很好的解决这个问题。
一旦安装了Maven Helper插件,只要打开pom文件,就可以打开该pom文件的Dependency Analyzer视图(在文件打开之后,文件下面会多出这样一个tab),进入Dependency Analyzer视图之后有三个查看选项,分别是Conflicts(冲突)、All Dependencies as List(列表形式查看所有依赖)、All Dependencies as Tree(树结构查看所有依赖)。并且这个页面还支持搜索。很方便!并且使用该插件还能快速的执行maven命令。
来一张maven helper提供的图片感受一下:
FindBugs-IDEA
FindBugs很多人都并不陌生,Eclipse中有插件可以帮助查找代码中隐藏的bug,IDEA中也有这款插件。
使用方法很简单,就是可以对多种级别的内容进行finbugs
分析完之后会有一个视图进行提示,详细的说明是哪种问题。
按照提示解决完问题之后再执行findbug查看情况即可。
CheckStyle-IDEA
通过检查对代码编码格式,命名约定,Javadoc,类设计等方面进行代码规范和风格的检查,从而有效约束开发人员更好地遵循代码编写规范。 软件安装成功之后,首先要设置规则。可以通过
Preferences—>Other Settings —>CheckStyles
进行设置,可以直接将文件添加进来,然后就可以对具体的文件进行检查了。
同样,该插件也有个单独的视图,该视图可以展示检查结果。
阿里巴巴代码规约检测
2017年10月14日杭州云栖大会,Java代码规约扫描插件全球首发仪式正式启动,规范正式以插件形式公开走向业界,引领Java语言的规范之路。
Java代码规约扫描插件以今年年初发布的《阿里巴巴Java开发规约》为标准,作为Eclipse、IDEA的插件形式存在,检测JAVA代码中存在不规范得位置然后给予提示。规约插件是采用kotlin语言开发的,感兴趣的同学可以去开看插件源码。
阿里巴巴规约插件包含三个子菜单:编码规约扫描、关闭试试检测功能、切换语言至英文(English)。如果工具栏显示中文乱码,可能是字体不支持中文显示,可以在
Settings—>Appearance&Behavior—>Appearance选择支持中文的支持
GsonFormat
Java开发中,经常有把json格式的内容转成Object的需求,GsonFormat这款插件可以实现该功能。
Jrebel
JRebel for IntelliJ是一款热部署插件。由于我们团队有内部的热部署方案,所以该插件我没用过,但是这个插件和我们内部的插件差不多,所以在这也推荐一下。
AceJump
AceJump其实是一款能够代替鼠标的软件,只要安装了这款插件,可以在代码中跳转到任意位置。按快捷键进入 AceJump 模式后(默认是 Ctrl+J),再按任一个字符,插件就会在屏幕中这个字符的所有出现位置都打上标签,你只要再按一下标签的字符,就能把光标移到该位置上。换言之,你要移动光标时,眼睛一直看着目标位置就行了,根本不用管光标的当前位置。
这个自己安装一下实践起来就知道了,我平时其实不怎么用,可能是没用习惯吧。
markdown
安装这个插件之后,打开.md文件就可以通过一个支持md的视图查看和编辑内容。一般用于写README.md文件。但是这个插件我不太用,因为他对md语法支持的并不是很好。还是习惯用macdown这款软件。
Key promoter
很多开发都是从Eclipse转到Idea的。用习惯了Eclipse的快捷键之后在使用IDEA真的非常不习惯。Key promoter这款插件适合新手使用。当你点击鼠标一个功能的时候,可以提示你这个功能快捷键是什么。
日常使用的插件就介绍完了。有了这些插件,使用IDEA开发就更加幸福了。
如果还有好的插件,欢迎推荐~
Spring Assistant : springboot application.properties 自动属性提示
领域对象转JSON工具:POJO to JSON
为了测试需要,我们需要将简单 Java 领域对象转成 JSON 字符串方便用 postman 或者 curl 模拟数据。详细使用文档,参考:https://plugins.jetbrains.com/plugin/9686-pojo-to-json
时序图生成工具:SequenceDiagram
有的时候,我们需要梳理业务逻辑或者阅读源码。从中,我们需要了解整个调用链路,反向生成 UML 的时序图是强需求。其中,SequenceDiagram 插件是一个非常棒的插件。详细使用文档,参考:https://plugins.jetbrains.com/plugin/8286-sequencediagram
RESTful 服务开发辅助工具集: RestfulToolkit
开发中,经过会根据 URI 的部分信息来查找对应的 Controller 中方法,RestfulToolkit 提供了一套 RESTful 服务开发辅助工具集,提供了如下功能:
根据 URL 直接跳转到对应的方法定义 ( Ctrl or Ctrl Alt N ); 提供了一个 Services tree 的显示窗口; 一个简单的 http 请求工具; 在请求方法上添加了有用功能: 复制生成 URL;,复制方法参数... 其他功能: java 类上添加 Convert to JSON 功能,格式化 json 数据 ( Windows: Ctrl + Enter; Mac: Command + Enter )。
详细使用文档,参考:https://plugins.jetbrains.com/plugin/10292-restfultoolkit
日志工具:Grep Console
参考:https://plugins.jetbrains.com/plugin/7125-grep-console
不同级别日志通过颜色区分,一路了然
高亮日志
便捷检索日志
Redis可视化:Iedis
参考:https://plugins.jetbrains.com/plugin/9228-iedis 使用参考:https://codesmagic.com/iedis/userguide/getting-started 可方便的执行增删查改及使用命令行进行操作。
中英文翻译工具:Translation
最骚的操作是什么?帆哥在群里分享了一套「半中文编程」:说到了变量命名,先用中文写好,然后用 Translation 插件的 translate and replace 一键替换为英文,这样效率高而且准确。详细使用文档,参考:https://plugins.jetbrains.com/plugin/8579-translation
String Manipulation
字符串日常开发中经常用到的,但是不同的字符串类型在不同的地方可能有一些不同的规则,比如类名要用驼峰形式、常量需要全部大写等,有时候还需要进行编码解码等。这里推荐一款强大的字符串转换工具——String Manipulation。
它强大到什么程度,看下他的功能列表你就知道了:
文本转换操作
切换样式(camelCase, hyphen-lowercase, HYPHEN-UPPERCASE, snake_case, SCREAMING_SNAKE_CASE, dot.case, words lowercase, Words Capitalized, PascalCase)
转换为SCREAMING_SNAKE_CASE (或转换为camelCase)
转换为 snake_case (或转换为camelCase)
转换为dot.case (或转换为camelCase)
转换为hyphen-case (或转换为camelCase)
转换为hyphen-case (或转换为snake_case)
转换为camelCase (或转换为Words)
转换为camelCase (或转换为lowercase words)
转换为PascalCase (或转换为camelCase)
选定文本大写
样式反转
Un/Escape
Un/Escape 选中的 java 文本
Un/Escape 选中的 javascript 文本
Un/Escape 选中的 HTML 文本
Un/Escape 选中的 XML 文本
Un/Escape 选中的 SQL 文本
Un/Escape 选中的 PHP 文本
将 diacritics(accents) 转换为 ASCII
将非ASCII 转换为转义的Unicode
将转义的Unicode转换为字符串
Encode/Decode
Encode 选中的文本为 MD5 Hex16
De/Encode 选中的文本为 URL
De/Encode 选中的文本为 Base64
递增/递减
递增/递减所有找到的数字
复制行并且递增/递减所有找到的数字
创建序列:保持第一个数字,递增替换所有其他数字
递增重复的数字
按自然顺序排序
按行倒序
按行随机排序
区分大小写A-z排序
区分大小写z-A排序
不区分大小写A-Z排序
不区分大小写Z-A排序
按行长度排序
通过子选择行排序:每行仅处理一个选择/插入符号
对齐
通过选定的分隔将选定的文本格式化为列/表格
将文本对齐为左/中/右
过滤/删除/移除
grep选定的文本,所有行不匹配输入文字将被删除。 (不能在列模式下工作)
移除选定的文本
移除选定文本中的所有空格
删除选定文本中的所有空格
删除重复的行
只保留重复的行
删除空行
删除所有换行符
其他
交换字符/选择/线/标记
切换文件路径分隔符:Windows < – > UNIX
Alibaba Java Coding Guidelines
地址:http://plugins.jetbrains.com/plugin/10046-alibaba-java-coding-guidelines
阿里巴巴出品的java代码规范插件
可以扫描整个项目 找到不规范的地方 并且大部分可以自动修复
更多可看: http://github.com/alibaba/p3c/tree/master/idea-plugin
VisualVM Launcher
地址:http://plugins.jetbrains.com/plugin/7115-visualvm-launcher
运行java程序的时候启动visualvm,方便查看jvm的情况 比如堆内存大小的分配
某个对象占用了多大的内存,jvm调优必备工具
GenerateAllSetter
地址:http://plugins.jetbrains.com/plugin/9360-generateallsetter
一键调用一个对象的所有set方法并且赋予默认值 在对象字段多的时候非常方便
MyBatisCodeHelperPro
地址:http://plugins.jetbrains.com/plugin/9837-mybatiscodehelperpro
mybatis代码自动生成插件,大部分单表操作的代码可自动生成 减少重复劳动 大幅提升效率
如下插件也都一并安装下,好用:
1.lombok plugin: lombok插件 简化bean get set方法
2.Maven Helper: 查看maven pom 冲突 分析神器
3.Maven Dependcency Helper: Search dependency without open the browser
4.Mybatis plugin pybatis插件: 提示mapper xml & java mapper 到xml方法跳转等 or
MybatisCodeHelperPro: mysql xml 自动补全 、mapper xml 互跳等 很好用
4.FindBugs-IDEA: 检查代码bug
5.CheckStyle-IDEAL: 检查代码规范
6.GsonFormat
7.markdown8.powershell & BashSupport
9.JSONOnlineViewer & jSON Viewer
10.Spring Assistant : springboot application.properties 自动属性提示
参考: 忍不住收藏下
http://www.hollischuang.com/archives/966
https://blog.csdn.net/zxaini2010/article/details/81395792
https://blog.csdn.net/huweijian5/article/details/83066183
https://blog.csdn.net/qq_36669747/article/details/88051907
https://maimai.cn/article/detail?fid=1225184745&efid=OikrcbJ_q8R2JwyDxzRz2g
https://www.toutiao.com/a6653181672621605388/?tt_from=weixin&utm_campaign=client_share&wxshare_count=1×tamp=1555003802&app=news_article&utm_source=weixin&utm_medium=toutiao_ios&req_id=20190412013002010023073135625FBF1&group_id=6653181672621605388