恕我直言,你可能真没用过这些 IDEA 插件!
一、前言
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 插件仓库中还有很多优秀的插件,没有最好的只有更适合的,其他插件慢慢探索吧。
● 别在 Java 代码里乱打日志了,这才是正确的打日志姿势!
恕我直言,你可能真没用过这些 IDEA 插件!的更多相关文章
- 不再为Apache进程淤积、耗尽内存而困扰((转))
本篇文章是为使用Apache+MySQL,并为Apache耗尽内存而困扰的系统管理员而写.如果您没有耐心读完本文,请参考以下步骤: 修改/etc/my.cnf,加上这样一行: log-slow-que ...
- ios 多线程必读内容 :锁
大学时的生产者消费者问题还记得吗?ios中的锁,请阅读以下官方文档,虽然是英文的,但是说的非常准确: Threading Programming Guide 中的 Synchronization ht ...
- 【01:转自知乎:关于 openSUSE 】
我是 openSUSE 中文维基唯一的非官方维护者,openSUSE 简体中文翻译团队召集人,linuxsir SuSE 版块的版主,openSUSE 官方论坛 http://forums.opens ...
- 我的Unity学习路线
前言 上班的时间内都很忙在做项目,休息时间里闲下来了,却觉得没什么事做不自在.难道真是苦逼的命不会享受? 想了一下这一段时间以来的过程:先是重新看了一遍Unity的基础部分,然后买了<3D数学基 ...
- Android TouchEvent事件传递机制
本文转载自:http://blog.csdn.net/morgan_xww/article/details/9372285 跟touch事件相关的3个方法: public boolean dispat ...
- 【转】Android TouchEvent事件传递机制
Android TouchEvent事件传递机制 事件机制参考地址: http://www.cnblogs.com/sunzn/archive/2013/05/10/3064129.html ht ...
- celery最佳实践
作为一个Celery使用重度用户.看到Celery Best Practices这篇文章.不由得菊花一紧. 干脆翻译出来,同一时候也会添加我们项目中celery的实战经验. 至于Celery为何物,看 ...
- Python 解LeetCode:671. Second Minimum Node In a Binary Tree
题目在这里,要求一个二叉树的倒数第二个小的值.二叉树的特点是父节点的值会小于子节点的值,父节点要么没有子节点,要不左右孩子节点都有. 分析一下,根据定义,跟节点的值肯定是二叉树中最小的值,剩下的只需要 ...
- 60、jQuery其余操作
上篇主要介绍了jQuery,和一些基本用法,这篇主要讲解动画.常用事件.还有一些jQuery的补充内容. 本篇导航: 动画 常用事件 插件 jQuery API 中文文档 一.动画 1.基本 show ...
随机推荐
- 集合-ConcurrentLinkedQueue 源码解析
问题 (1)ConcurrentLinkedQueue是阻塞队列吗? (2)ConcurrentLinkedQueue如何保证并发安全? (3)ConcurrentLinkedQueue能用于线程池吗 ...
- SSRF漏洞简单分析
什么是SSRF漏洞 SSRF(服务器端请求伪造)是一种由攻击者构造请求,服务器端发起请求的安全漏洞,所以,一般情况下,SSRF攻击的目标是外网无法访问的内部系统. SSRF漏洞形成原理. SSRF的形 ...
- 史上最全的 jmeter 获取 jdbc 数据使用的四种方法
jmeter使用jdbc协议获取数据库中数据,很多人都会用,因为大家在做测试的时候,有时候需要大量的用户进行登录,获取需要数据库中真实的数据用于测试,所以常常会用jdbc来获取数据库数据. 那从数据库 ...
- 带你上手阿里开源的 Java 诊断利器:Arthas
本文适合有 Java 基础知识的人群. 本文作者:HelloGitHub-秦人 HelloGitHub 推出的<讲解开源项目>系列,今天给大家带来一款阿里开源的 Java 诊断利器 Art ...
- ajax异步上传图片&SpringMVC后台代码
function uploadPic(){ var options = { url : "/upload/updatePic.action", type : "post& ...
- pycharm控制台输出的日志全是红色的字体?
问题:logging在pycharm控制台输出的日志的字体全是红色的,怎么办? 图片描述: 解决办法:设置 -> 搜索“Console” -> 结果:改完立马生效
- xctf-web supersqli
单引号注入,用order by查到了两个column.用union select的时候发现select关键字被过滤了 用分号尝试堆叠注入显示出了两张表 分别查询字段 flag在表19198109311 ...
- [Jarvisos]Tell me something
0x01 拿到题目首先检查一下是32位还是64位 64位程序,未开启canary栈保护 运行一下程序,检查一下程序的运行逻辑 提示->输入->输出 0x02 ida反编译一下,看一下代码逻 ...
- 你一个 F12 能秒我?
参考文章 思路决定成败:F12给了我黑色的眼睛我却用它来挖洞 前言 了解大佬的思路才知道自己现在学的到底有多浅. 还没有到点,我就已经进入状态了,生而为人,我很抱歉. F12 的骚操作 Element ...
- Django学习路5_更新和删除数据库表中元素
查找所有的元素 Student.objects.all() 查找单个元素 Student.objects.get(主键=值) 主键 pk = xxx 更新数据库数据后进行保存 stu.save() 删 ...