idea插件备份以及推荐

本文整理了IntelliJ IDEA中不可或缺的插件,包括Alibaba Java Coding Guidelines用于代码规范检查,Grep Console增强日志过滤与颜色显示,Rainbow Brackets提升代码阅读体验,Maven Helper解决依赖冲突,MyBatisCodeHelper-Pro辅助MyBatis开发,以及Jrebel实现热部署等。这些插件能显著提高开发效率,确保代码质量。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

IDEA之我不得不留的插件,精心整理

俗话说:“工欲善其事,必先利其器”。

Alibaba Java Coding Guidelines

2017年10月14日杭州云栖大会,Java代码规约扫描插件全球首发仪式正式启动,规范正式以插件形式公开走向业界,引领Java语言的规范之路。

Java代码规约扫描插件以今年年初发布的《阿里巴巴Java开发规约》为标准,作为Eclipse、IDEA的插件形式存在,检测JAVA代码中存在不规范得位置然后给予提示。规约插件是采用kotlin语言开发的,感兴趣的同学可以去开看插件源码。

阿里巴巴规约插件包含三个子菜单:编码规约扫描、关闭试试检测功能、切换语言至英文(English)。如果工具栏显示中文乱码,可能是字体不支持中文显示,可以在

Settings—>Appearance&Behavior—>Appearance选择支持中文的支持

alt

阿里巴巴 Java代码规范插件。

安装该插件后,代码超过 80 行、手动创建线程池等,这些和《手册》中的规约不符时,IDEA中会给出警告提示。

建议大家一定一定一定要安装该插件,它会帮助你检查出很多隐患,督促你写更规范的代码。

建议看完这篇帖子

Grep console

Grep Console是一款和IDEA Console相关的插件
可以通过expression表达式过滤日志、给不同级别的日志或者给不同pattern的日志加上背景颜色与上层颜色。

alt 效果

alt 效果

自用配置颜色

alt 日志

UTOOLS1583325243235.png

介绍

Rainbow Brackets

通过配置颜色,让选中的括号范围 高亮

高亮效果(默认快捷键 mac : command+鼠标右键单击, windows : ctrl+鼠标右键单击):

alt 介绍

选中部分外暗淡效果(默认快捷键 alt+鼠标右键单击):

alt 黯淡

Maven Helper

Maven helper 插件提供了如下特性:

可以方便的找到和排除冲突的依赖项
可以 run/debug 包含当前文件的模块或者根模块
可以 run/debug 当前测试文件。如果 maven-surefire-plugin 配置了skip或者 exclude test,verify 目标则会使用,可以查看不同的配置风格:风格

Maven helper 的用法:

  • 方法一

alt

  • 右键点击 Editor| Run Maven

  • CTRL + ALT + R快速运行maven goals

  • CTRL + SHIFT + ALT + R快速运行跟模块的maven goals

  • 自定义goals:Settings | Other Settings | Maven Helper

  • 定义快捷键:Settings | Keymap | Plug-ins | Maven Helper

  • 打开 pom.xml 文件, 点击 Dependency Analyzertab

alt

  • 方法二

    在插件安装好之后,我们打开pom.xml文件,在底部会多出一个Dependency Analyzer选项

    alt

点开这个选项

alt

找到冲突,点击右键,然后选择Exclude即可排除冲突版本的Jar包。

更多使用技巧请看此处

MyBatisCodeHelper-Pro

1.根据java实体类生成数据库 (前提Database先连接到数据库)

alt

UTOOLS1583324451569.png

alt

[建议使用前先观看以下教程]

由于这是付费插件,特此提供pj版

Generate All setters

[1] 直接在函数体中使用alt+enter快捷键,选择“generate all setter”,自动创建返回值类型相同的对象并调用所有的set方法,并且会根据参数中的实体名填充,如果没有填充默认值。

[2] 在某个实体对象名称中使用快捷键,选择该功能,则会生产该实体的所有set的方法,并赋默认值。

alt

返回对象使用 使用极佳

Codota

智能代码提示

使用快捷键可以搜索知名开源项目中该类或者方法的使用案例,超赞。

alt

实测视频

Material Theme UI

颜值控的福音

对于很多人而言,写代码时略显枯燥的,如果能够安装自己喜欢的主题将为开发工作带来些许乐趣。

alt

UTOOLS1583326994006.png

RestfulToolkit

Spring MVC网页开发的时候,我们都是通过requestmapping的方式来定义页面的URL地址的,为了找到这个地址我们一般都是cmd+shift+F的方式进行查找,大家都知道,我们URL的命名一个是类requestmapping+方法requestmapping,查找的时候还是有那么一点不方便的,restfultookit就能很方便的帮忙进行查找。
例如:我要找到/book/add 对应的controller,那么只要ctrl+Alt+N ,如图:

  • 根据 URL 直接跳转到对应的方法定义 ( Ctrl \ or Ctrl Alt N );
  • 提供了一个 Services tree 的显示窗口;
  • 一个简单的 http 请求工具;
  • 在请求方法上添加了有用功能: 复制生成 URL;,复制方法参数…
  • 其他功能: java 类上添加 Convert to JSON 功能,格式化 json 数据 ( Windows: Ctrl + Enter; Mac: Command + Enter )

全局快捷搜索:Ctrl +\

功能演示

安装后,右侧会有RestServices侧边栏,点击后会显示当前项目所有请求地址,可以进行输入查询,然后会直接把请求方式,地址以及参数列出来,默认请求服务器为本机(localhost:8080),可根据需求更改。

alt

Jrebel

注意: 热部署只是针对class文件,源文件这些。对于属性文件.xml或.properties,只要修改了,都需要重启服务器,因为属性文件是在服务器启动的时候加载的,不可能被热部署识别到。

jrebel使用手册

Jrebel破解教程

FindBugs-IDEA

作用:

检测代码中可能的bug及不规范的位置,写完代码后检测下 避免低级bug。

静态分析工具承诺无需开发人员费劲就能找出代码中已有的缺陷。当然,如果有多年的编写经验,就会知道这些承诺并不是一定能兑现。

实际应用:

alt

扫描完成后:

alt

附录(网摘):

FindBugs 它用来查找Java代码中存在的bug。它使用静态分析方法标识出Java程序中上百种潜在的不同类型的错误。

FindBugs支持对包级别、项目级别、模块级别、单个文件级别,以及自定义范围的Bug分析。

FindBugs:特色是能够检查出空指针异常这种bug!

使用:右键单击(module、单个文件等)—>在快捷菜单中选择findbugs即可

使用教程 使用教程

附:FindBugs的Bug种类说明

Bad practice 坏的实践
一些不好的实践,下面列举几个:

HE:类定义了equals(),却没有hashCode();或类定义了equals(),却使用Object.hashCode();或类定义了hashCode(),却没有equals();或类定义了hashCode(),却使用Object.equals();类继承了equals(),却使用Object.hashCode()。
SQL:Statement 的execute方法调用了非常量的字符串;或Prepared Statement是由一个非常量的字符串产生。
DE:方法终止或不处理异常,一般情况下,异常应该被处理或报告,或被方法抛出。
Malicious code vulnerability 可能受到的恶意攻击
如果代码公开,可能受到恶意攻击的代码,下面列举几个:

FI:一个类的finalize()应该是protected,而不是public的。
MS:属性是可变的数组;属性是可变的Hashtable;属性应该是package protected的。
类名小写问题:

Correctness 一般的正确性问题
可能导致错误的代码,下面列举几个:

NP:空指针被引用;在方法的异常路径里,空指针被引用;方法没有检查参数是否null;null值产生并被引用;null值产生并在方法的异常路径被引用;传给方法一个声明为@NonNull的null参数;方法的返回值声明为@NonNull实际是null。
Nm:类定义了hashcode()方法,但实际上并未覆盖父类Object的hashCode();类定义了tostring()方法,但实际上并未覆盖父类Object的toString();很明显的方法和构造器混淆;方法名容易混淆。
SQL:方法尝试访问一个Prepared Statement的0索引;方法尝试访问一个ResultSet的0索引。
UwF:所有的write都把属性置成null,这样所有的读取都是null,这样这个属性是否有必要存在;或属性从没有被write。

Dodgy 危险的
具有潜在危险的代码,可能运行期产生错误,下面列举几个:

CI:类声明为final但声明了protected的属性。
DLS:对一个本地变量赋值,但却没有读取该本地变量;本地变量赋值成null,却没有读取该本地变量。
ICAST:整型数字相乘结果转化为长整型数字,应该将整型先转化为长整型数字再相乘。
INT:没必要的整型数字比较,如X <= Integer.MAX_VALUE。
NP:对readline()的直接引用,而没有判断是否null;对方法调用的直接引用,而方法可能返回null。
REC:直接捕获Exception,而实际上可能是RuntimeException。
ST:从实例方法里直接修改类变量,即static属性。

Performance 性能问题
可能导致性能不佳的代码,下面列举几个:

DM:方法调用了低效的Boolean的构造器,而应该用Boolean.valueOf(…);用类似Integer.toString(1) 代替new Integer(1).toString();方法调用了低效的float的构造器,应该用静态的valueOf方法。
SIC:如果一个内部类想在更广泛的地方被引用,它应该声明为static。
SS:如果一个实例属性不被读取,考虑声明为static。
UrF:如果一个属性从没有被read,考虑从类中去掉。
UuF:如果一个属性从没有被使用,考虑从类中去掉。

Multithreaded correctness 多线程的正确性
多线程编程时可能导致错误的代码,下面列举几个:

ESync:空的同步块,很难被正确使用。
MWN:错误使用notify(),可能导致IllegalMonitorStateException异常;或错误的使用wait()。
No:使用notify()而不是notifyAll(),只是唤醒一个线程而不是所有等待的线程。
SC:构造器调用了Thread.start(),当该类被继承可能会导致错误。

Internationalization 国际化
当对字符串使用upper或lowercase方法,如果是国际的字符串,可能会不恰当的转换。

—最后编辑于2020-3-4 21:48[^1]

最后在这里建议使用2019.2以后的版本 因为2019.2版本更新了架构

总结

  • 添加对 Java 13(预览版)的支持

  • 支持 Switch 表达式以及 Java 13 中的新语法

  • 使用 yield 关键字来处理 Switch 块中 switch 表达式的返回值

  • 改进重构功能

  • 改进 Scratch 文件的显示模式

  • 添加对 shell 脚本的支持

  • 打开大文件更迅速

  • macOS 拥有新的默认 keymap

  • 显著的性能改进,尤其是启动速度

  • 改进 Windows 平台的 UI,并引入全新的现代无边框外观

议使用2019.2以后的版本 因为2019.2版本更新了架构

总结

  • 添加对 Java 13(预览版)的支持

  • 支持 Switch 表达式以及 Java 13 中的新语法

  • 使用 yield 关键字来处理 Switch 块中 switch 表达式的返回值

  • 改进重构功能

  • 改进 Scratch 文件的显示模式

  • 添加对 shell 脚本的支持

  • 打开大文件更迅速

  • macOS 拥有新的默认 keymap

  • 显著的性能改进,尤其是启动速度

  • 改进 Windows 平台的 UI,并引入全新的现代无边框外观

绿化便携版本idea-自带Material Theme UI等插件,强烈推荐

本文章包含了很多篇帖子的内容,更像一篇整合几篇帖子的帖子,甚至有些图都是帖子的。非常抱歉,由于东西太多,我忘了帖子的来源了…非常抱歉抱歉。
此贴也是备份自己的idea插件列表 非常适合刚使用idea的小伙伴们
发布的时候要贴转载帖子 我不记得了 无奈只好贴原创了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值