一、前言

IDEA 全称 IntelliJ IDEA,是java编程语言开发的集成环境。IntelliJ在业界被公认为最好的java开发工具。

不是我说的喔,百度百科说的... IDEA 如此好用,插件库也是很强大的,俗话说:“工欲善其事必先利其器”,不安排几个插件都不好意思说你开发工具用的是 IDEA ,接下来将介绍插件的安装方式。

二、IDEA 插件安装

在使用插件之前,你需要了解 IDEA 的插件安装方式,安装 IDEA 插件是非常方便的,你只要知道插件的名字就可以直接安装, IDEA 插件安装有两种方式:

1、在线安装

在 IDEA 中选择:File —> Settings —> Plugins

你可以直接在开发工具输入插件的名字搜索安装,例如安装Lombok插件:

2、离线安装

进入 IDEA 下载插件官网:https://plugins.jetbrains.com,输入插件的名字搜索,下载插件对应 IDEA 版本的插件包

在 IDEA 中选择:File —> Settings —> Plugins —> Install plugin from disk —> 选择下载好的插件包进行安装

TIP: 安装完成之后,重启 IDEA 就行了。本文使用的 IDEA 版本为2020.1,IDEA 使用最新版本的话,可能对应的第三方插件的版本没跟上导致不能使用。熟悉完插件安装方式之后,接下来将介绍近二十余款常用的 IDEA 插件

三、插件

1、Lombok

Lombok 项目是一个 Java 库,它会自动插入编辑器和构建工具中,Lombok提供了一组有用的注释,用来消除Java类中的大量样板代码。仅五个字符(@Data)就可以替换数百行代码从而产生干净,简洁且易于维护的Java类,使用 Lombok 时候需要安装 Lombok 插件和对应依赖

使用 Lombok 时候需要添加依赖:

<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.18.12</version>
<scope>provided</scope>
</dependency>

更多Lombok用法查看:https://projectlombok.org

2、RestfulTool

一套 Restful 服务开发辅助工具集。

  • 提供了一个 Services tree 的显示窗口

  • 点击 URL 直接跳转到对应的方法定义

  • 一个简单的 http 请求工具

  • 支持 Spring 体系 (Spring MVC / Spring Boot)

  • 支持 JAX-RS

  • 支持 Navigate->RequestService 搜索 Mapping (Ctrl + Alt + /)

TIP: RestfulToolkit 插件与 RestfulTool 插件功能类似,只是 RestfulToolkit 在 IDEA 2020.1 以后作者未更新,不能使用了,但是在 IDEA 2019.3.5可以使用,在 IDEA 2020.1 版本以后可以装 RestfulTool 插件,且该插件只支持 IDEA 2020.1+ 。

3、Free Mybatis plugin

IDEA 默认不能直接从代码跳转到映射器,该插件是一款增强 IDEA 对 mybatis 支持的插件,主要功能如下:

  • 生成mapper xml文件

  • 快速从代码跳转到mapper及从mapper返回代码

  • mybatis自动补全及语法错误提示

  • 集成mybatis generator gui界面

4、Mybatis Log Plugin

该插为收费版,试用版为30天,该插件主要功能:

  • 该插件可以还原MyBatis输出的日志为完整的SQL语句

  • 把SQL日志里面的?替换为真正的参数值

  • 选中要还原的MyBatis日志,右键点击菜单Restore Sql,还原SQL语句

  • Java接口方法与Mapper xml文件互相跳转

安装完插件之后,重启可以点击试用:

演示:

可以看到 MyBatis 打印的日志SQL被自动的格式化成可执行的SQL了,如果业务中打印的SQL很多影响你查看,你也可以选择手动格式化指定SQL

5、Grep Console

在启动应用时或调试时,IDEA 控制台输出一大堆日志,想要快速找到自己需要类型的日志是很麻烦的,此时使用此插件可以快速定位到自己想要的类型日志,比如 TRACE 、 DEBUG 等,也可以单独打开标签页显示自己需要的日志,日志分类也可以配置自己喜欢的颜色。

6、Maven Helper

查看和管理maven依赖的插件,可以展示pom.xml文件中的依赖以列表或树的形式,该插件可以很直观的帮你分析和排除冲突依赖

7、GenerateAllSetter

一款效率插件,它主要提供以下功能:

  • 通过alt+enter对变量类生成对类的所有setter方法的调用

  • 当两个对象具有相同的字段时生成一个转换器

  • 当返回类型为List Set Map时生成默认值

  • 在所有getter方法上生成对assertThat的调用

8、Rainbow Brackets

如果代码没有被格式化的话,阅读起来很痛苦,就算被格式化了,几千行代码,各种if嵌套,阅读起来连个结尾括号都找不到(如果你说你会折叠,当我没说),也是很痛苦的,此时这个插件就能忙上很大的忙,能帮你快速定位到代码块中的上下文,突出显示,彩虹括号。

使用:

1、Ctrl+右键单击,高亮显示所选代码块

2、Alt+右键单击,其他全部为灰色,突出显示选中代码块

更多使用可以参考 github 地址:https://github.com/izhangzhihao/intellij-rainbow-brackets

9、Json Helper

该插件提供了一个易于使用的工具窗口,可以直接在您的IDE中执行JSON字符串操作,不用再打开网站格式化JSON啦,该插件提供了如下功能:

  • 美化您的丑陋json

  • 丑化你漂亮的json

  • 转义你的json

  • 解除转义json

  • 支持JMES json路径搜索。请参阅此处的示例:https://jmespath.org/

  • 对变量声明解析的实验支持。例如public final String json = "{\"key\":\"value\"}";变成原始的美化json

  • Json检查允许嵌套json。也适用于JSON临时文件

10、CodeGlance

CodeGlance 插件在编辑器窗格中嵌入一个类似于在Sublime中的代码缩略图。使用自定义的颜色突出显示语法,可同时处理浅色和深色主题,可以快速定位代码,使用起来比拖动滚动条方便多了。

11、SequenceDiagram

SequenceDiagram 插件可以根据代码调用链路自动生成时序图,这对梳理工作中的业务代码有很大的帮助,堪称神器,暴赞!

TIP:双击顶部的类名可以跳转到对应类的源码中,双击调用的方法名可以直接跳入指定方法的源码中

12、Alibaba Java Coding Guidelines 和 SonarLint

一、Alibaba Java Coding Guidelines

阿里巴巴代码规范约束插件,对代码规范等很有帮助,可以养成良好的代码规范,编程风格

扫描整个项目:

扫描代码后,将不符合规约的代码按 Blocker(崩溃)、Critical(严重)/Major(重要) 三个等级显示在下方,双击可以定位至代码处,右侧窗口还有针对代码的批量修复功能。

如果觉得扫描整个项目太浪费时间且影响性可以能扫描单个文件:

TIP:阿里编码规约扫描,默认是开启实时监测的,此功能可能会引起 IDEA 卡顿,可以点击 关闭实时检测功能 将其关闭,在编码完成后再主动扫描文件。

二、SonarLint

SonarLint 是一个免费的IDE扩展,允许您在编写代码时修复错误和漏洞!与拼写检查器一样,SonarLint会动态地突出显示代码问题,并提供明确的修复指导,以便在代码提交之前修复这些问题。在流行的IDEs(Eclipse, IntelliJ, Visual Studio, VS Code)和流行的编程语言,SonarLint 帮助所有开发人员编写更好、更安全的代码!

区别:

这两款插件的侧重点不同:

  • AlibabaJavaCodingGuidelines 插件比较关心的是代码规范,编码风格上的,例如,命名规范,注释,代码行数等

  • SonarLint 插件比较关心代码正确性,存在的问题,风险,漏洞等,例如,重复代码,空指针,安全漏洞等

使用 AlibabaJavaCodingGuidelines 插件来规范代码,使用 SonarLint 来提前发现代码问题,配合起来提高工程整体的代码质量,并且能够在编码阶段规避风险,提高程序的健壮性。

13、Translation

一款翻译插件,再也不用切换窗口到浏览器或翻译软件中搜索了,也可以通过 TranslateandReplace 汉字翻译为驼峰命名的英语,在定义方法名或属性变量时很方便。

14、Activate-power-mode-x 和 Power mode II

这两款插件提供了写代码时的动态效果。

一、Activate-power-mode-x

Activate-power-mode-x 是 Activate-power-mode 插件的修复版本,在此上面迭代更新了几个可配置的选项。

二、Power mode II

区别:

  • activate-power-mode-x 颗粒特效默认是白色的,可以调整其他颜色,但是颗粒特效颜色单一,编辑框也跟着抖动,有点晃眼哇

  • Power mode II 各种颜色的颗粒,默认编辑框不跟着抖动,视觉舒服点(由于 IDEA 2020.1 版本为2020/4/9更新的,Power mode II 最后一次更新为2020/2/17,所以到配置选项框无法显示配置选项,可能由于插件版本没跟上的问题)

15、Background Image Plus

该插件将编辑器背景设置为指定文件夹中的随机图片

16、Nyan progress bar

该插件将你 IDEA 中的所有的进度条都变成小猫动画,小猫可以跟着进度条变化而移动喔。

IDEA 插件仓库中还有很多优秀的插件,没有最好的只有更适合的,其他插件慢慢探索吧。

● 用过好几个注册中心,你竟然不知道他们的区别?

● Mybatis Generator逆向工程的使用

● XStream学习手册

● 别在 Java 代码里乱打日志了,这才是正确的打日志姿势!

● 高可用Redis服务架构分析与搭建

恕我直言,你可能真没用过这些 IDEA 插件!的更多相关文章

  1. 不再为Apache进程淤积、耗尽内存而困扰((转))

    本篇文章是为使用Apache+MySQL,并为Apache耗尽内存而困扰的系统管理员而写.如果您没有耐心读完本文,请参考以下步骤: 修改/etc/my.cnf,加上这样一行: log-slow-que ...

  2. ios 多线程必读内容 :锁

    大学时的生产者消费者问题还记得吗?ios中的锁,请阅读以下官方文档,虽然是英文的,但是说的非常准确: Threading Programming Guide 中的 Synchronization ht ...

  3. 【01:转自知乎:关于 openSUSE 】

    我是 openSUSE 中文维基唯一的非官方维护者,openSUSE 简体中文翻译团队召集人,linuxsir SuSE 版块的版主,openSUSE 官方论坛 http://forums.opens ...

  4. 我的Unity学习路线

    前言 上班的时间内都很忙在做项目,休息时间里闲下来了,却觉得没什么事做不自在.难道真是苦逼的命不会享受? 想了一下这一段时间以来的过程:先是重新看了一遍Unity的基础部分,然后买了<3D数学基 ...

  5. Android TouchEvent事件传递机制

    本文转载自:http://blog.csdn.net/morgan_xww/article/details/9372285 跟touch事件相关的3个方法: public boolean dispat ...

  6. 【转】Android TouchEvent事件传递机制

    Android TouchEvent事件传递机制   事件机制参考地址: http://www.cnblogs.com/sunzn/archive/2013/05/10/3064129.html ht ...

  7. celery最佳实践

    作为一个Celery使用重度用户.看到Celery Best Practices这篇文章.不由得菊花一紧. 干脆翻译出来,同一时候也会添加我们项目中celery的实战经验. 至于Celery为何物,看 ...

  8. Python 解LeetCode:671. Second Minimum Node In a Binary Tree

    题目在这里,要求一个二叉树的倒数第二个小的值.二叉树的特点是父节点的值会小于子节点的值,父节点要么没有子节点,要不左右孩子节点都有. 分析一下,根据定义,跟节点的值肯定是二叉树中最小的值,剩下的只需要 ...

  9. 60、jQuery其余操作

    上篇主要介绍了jQuery,和一些基本用法,这篇主要讲解动画.常用事件.还有一些jQuery的补充内容. 本篇导航: 动画 常用事件 插件 jQuery API 中文文档 一.动画 1.基本 show ...

随机推荐

  1. Python数据可视化:画饼状图、折线图、圈图

    前言 本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理. from math import pi import matplotlib ...

  2. bzoj3437小P的牧场

    bzoj3437小P的牧场 题意: n个牧场,在每个牧场见控制站的花费为ai,在该处建控制站能控制从此处到左边第一个控制站(或边界)之间的牧场.一个牧场被控制的花费等于它到控制它的控制站之间的牧场数目 ...

  3. 【翻译】.NET 5中的性能改进

    [翻译].NET 5中的性能改进 在.NET Core之前的版本中,其实已经在博客中介绍了在该版本中发现的重大性能改进. 从.NET Core 2.0到.NET Core 2.1到.NET Core ...

  4. 性能测试必备知识(2)- 查看 Linux 的 CPU 相关信息

    做性能测试的必备知识系列,可以看下面链接的文章哦 https://www.cnblogs.com/poloyy/category/1806772.html 查看系统 CPU 信息 cat /proc/ ...

  5. 集训作业 洛谷P1032 字串变换

    集训的题目有点多,先写困难的绿题吧(简单的应该想想就会了) 嗯,这个题看起来像个搜索呢(就是个搜索) 我们仔细想想就知道这个题肯定不能用深搜,可以优化的地方太少了,TLE是必然的. 那我们该怎么办呢? ...

  6. Porter 进入 CNCF 云原生全景图,新版本即将发布!

    近日,KubeSphere 社区子项目面向物理机环境的负载均衡器 Porter 正式进入 CNCF Landscape.CNCF Landscape 在云原生实践过程中的每个环节帮助用户了解有哪些具体 ...

  7. tensorflow对鸢尾花进行分类——人工智能入门篇

    tensorflow之对鸢尾花进行分类 任务目标 对鸢尾花数据集分析 建立鸢尾花的模型 利用模型预测鸢尾花的类别 环境搭建 pycharm编辑器搭建python3.* 第三方库 tensorflow1 ...

  8. 设计模式:composite模式

    目的:使容器和内容具备一致性 实现:将对象组合成树形结构以表示“部分-整体”的层次结构 实例:文件夹中可以包含文件夹也可以包含文件 例子: class Item //接口定义 { public: vi ...

  9. [redis] -- 持久化机制篇

    快照(snapshotting)持久化(RDB) 该方式是redis默认 持久化方式 Redis可以通过创建快照来获得存储在内存里面的数据在某个时间点上的副本.Redis创建快照之后,可以对快照进行备 ...

  10. web自动化 -- HTMLreport(二)测试报告输出内容居左对齐

    一.需求痛点 1.报告输出内容是居中对齐,很难看 2.我们希望输出内容是居左对齐 3.痛点截图 二.解决办法 1.原因分析 HTMLreport的内容对齐方式,自然是修改HTMLreport的内容了 ...