一、前言

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. 集合-ConcurrentLinkedQueue 源码解析

    问题 (1)ConcurrentLinkedQueue是阻塞队列吗? (2)ConcurrentLinkedQueue如何保证并发安全? (3)ConcurrentLinkedQueue能用于线程池吗 ...

  2. SSRF漏洞简单分析

    什么是SSRF漏洞 SSRF(服务器端请求伪造)是一种由攻击者构造请求,服务器端发起请求的安全漏洞,所以,一般情况下,SSRF攻击的目标是外网无法访问的内部系统. SSRF漏洞形成原理. SSRF的形 ...

  3. 史上最全的 jmeter 获取 jdbc 数据使用的四种方法

    jmeter使用jdbc协议获取数据库中数据,很多人都会用,因为大家在做测试的时候,有时候需要大量的用户进行登录,获取需要数据库中真实的数据用于测试,所以常常会用jdbc来获取数据库数据. 那从数据库 ...

  4. 带你上手阿里开源的 Java 诊断利器:Arthas

    本文适合有 Java 基础知识的人群. 本文作者:HelloGitHub-秦人 HelloGitHub 推出的<讲解开源项目>系列,今天给大家带来一款阿里开源的 Java 诊断利器 Art ...

  5. ajax异步上传图片&SpringMVC后台代码

    function uploadPic(){ var options = { url : "/upload/updatePic.action", type : "post& ...

  6. pycharm控制台输出的日志全是红色的字体?

    问题:logging在pycharm控制台输出的日志的字体全是红色的,怎么办? 图片描述: 解决办法:设置 -> 搜索“Console” ->  结果:改完立马生效

  7. xctf-web supersqli

    单引号注入,用order by查到了两个column.用union select的时候发现select关键字被过滤了 用分号尝试堆叠注入显示出了两张表 分别查询字段 flag在表19198109311 ...

  8. [Jarvisos]Tell me something

    0x01 拿到题目首先检查一下是32位还是64位 64位程序,未开启canary栈保护 运行一下程序,检查一下程序的运行逻辑 提示->输入->输出 0x02 ida反编译一下,看一下代码逻 ...

  9. 你一个 F12 能秒我?

    参考文章 思路决定成败:F12给了我黑色的眼睛我却用它来挖洞 前言 了解大佬的思路才知道自己现在学的到底有多浅. 还没有到点,我就已经进入状态了,生而为人,我很抱歉. F12 的骚操作 Element ...

  10. Django学习路5_更新和删除数据库表中元素

    查找所有的元素 Student.objects.all() 查找单个元素 Student.objects.get(主键=值) 主键 pk = xxx 更新数据库数据后进行保存 stu.save() 删 ...