InteliJ IDEA常用插件推荐

举报
孙叫兽 发表于 2021/08/27 12:22:45 2021/08/27
【摘要】 1、社区版必备插件2、Mybatis插件(推荐)文档地址: https://gejun123456.github.io/MyBatisCodeHelper-Pro/使用教程:https://www.cnblogs.com/NeverCtrl-C/p/10193390.html插件破解:https://zhile.io/2019/04/23/mybatis-code-helper-pro-cr...

1、社区版必备插件

2、Mybatis插件(推荐)

文档地址: https://gejun123456.github.io/MyBatisCodeHelper-Pro/
使用教程:https://www.cnblogs.com/NeverCtrl-C/p/10193390.html
插件破解:https://zhile.io/2019/04/23/mybatis-code-helper-pro-crack.html
功能描述:
通过方法名(不需要方法的返回值和参数 会自动推导出来)来生成sql 可以生成大部分单表操作的
sql 只需要一个方法的名字即可 会自动补全好方法的参数和返回值 和springdatajpa的语句基本一致
sql全自动提示,sql正确性检测,插件会识别mybatis的一系列标签 如 include trim set
where,在这些标签之后的sql可以自动提示数据库的字段,检测sql的正确性,从此不用担心sql
写错
直接从Intellij自带的数据库或者配置一个数据库生成crud代码 自动检测好 useGeneratedkey
自动配置好模块的文件夹 只用添加包名就可以生成代码了
从java类生成mybatis crud代码 建表语句 支持生成service,建表支持生成多字段的索引
数据库添加字段后可以继续生成,不会修改之前已经在接口或xml添加的自定义的方法 无需再去进
行手动的添加
mybatis接口和xml的互相跳转 支持一个mybatis接口对应多个xml
mybatis接口中的方法名重构支持
xml中的 param的自动提示 if test的自动提示 resultMap refid 等的自动提示
resultMap中的property的自动提示
xml中refid,resultMap等的跳转到定义
检测没有使用的xml 可一键删除
检测mybatis接口中方法是否有实现,没有则报红 可创建一个空的xml
检测resultmap的property是否有误
param检测 检测#{ 中的内容是否有误
ognl 支持 if test when test foreach bind中的自动补全,跳转和检测
mybatis接口中一键添加param注解
mybatis接口一键生成xml
支持spring 将mapper注入到spring中 intellij的spring注入不再报错 支持springboot
一键生成mybatis接口的testcase 无需启动spring,复杂sql可进行快速测试
一键生成两张表关联的join
一键从sql语句中 导出resultMap
3、Git相关插件 

3.1、gitignore(推荐)

功能描述:
文件语法突出显示
在项目视图中为忽略的文件着色
Gitignore模板按名称和内容过滤和选择规则生成器
用户自定义模板
按指定的Gitignore文件显示忽略的文件(右键单击.gitignore文件)
在当前选择的目录中创建文件
根据GitHub的模板集合生成Gitignore规则
从弹出菜单将选定的文件/目录添加到Gitignore规则
建议.gitignore为新项目创建文件
带有修复措施的条目检查(重复,覆盖,未使用,语法错误,相对条目)
注释和括号支持
导航到项目视图中的条目
重命名忽略文件中的条目
关闭打开的忽略文件操作
具有导入/导出功能的自定义用户模板
文件语法突出显示
在项目视图中为忽略的文件着色
Gitignore模板按名称和内容过滤和选择规则生成器
用户自定义模板
按指定的Gitignore文件显示忽略的文件(右键单击.gitignore文件)
在当前选择的目录中创建文件
根据GitHub的模板集合生成Gitignore规则
从弹出菜单将选定的文件/目录添加到Gitignore规则
建议.gitignore为新项目创建文件
带有修复措施的条目检查(重复,覆盖,未使用,语法错误,相对条目)
注释和括号支持
导航到项目视图中的条目
重命名忽略文件中的条目
关闭打开的忽略文件操作
具有导入/导出功能的自定义用户模板

3.2、Git Integration 或 Git

IDEA内提供git版本管理的基础功能,使用git必需安装的。

3.3、GitToolBox(推荐)
在Idea的状态栏显示git状态,还提供了定时fecth等功能。 

3.4、Git Flow Integration(推荐)
用于在Idea里面使用Gitflow工作流,使用这个插件需要先在自己的电脑上面安装好Gitflow。 

3.5、GitLab Projects(推荐)
和GitLab Integration Plugin插件,使用Gitlab作为私有仓库时有用。

Features:
GitLab Checkout support - add GitLab autocompleter to IDE Git checkout dialog
GitLab Share dialog - allows quick import of new projects to GitLab, user can specify
namespace and project visibility
GitLab Merge Request dialog - user can quickly create new merge requests from current
branch
GitLab Merge Request List dialog - user can list and accept all open code reviews
3.6、Git Commint Template(推荐)

提供使用如下模板创建提交日志的功能:

<type>(<scope>): <subject>
<BLANK LINE>
<body>
<BLANK LINE>
<footer>

4、Alibaba Java Coding Guidelines(推荐)
用于检查代码是否符合阿里巴巴的代码规范。需要在”Settings > Editor > Inspections > Ali-Check“中把
检查打开。

5、Jrebel(强烈推荐) 

热部署插件,可大幅提高开发效率。
免费使用方法
激活地址:
http://jrebel.yanjiayu.cn:9001/{GUID}
https://jrebel.qekang.com/{GUID}

6、GenerateSerialVersionUID
用来在需要序列化的Java对象中生成GUID。
使用此插件前需要先在”Settings > Editor > Inspections > Java > Serialization issues"下把下图中的检
查打开

7、Lombok(推荐)
在Idea里面支持Lombok。Lombok的介绍1,介绍2,详细使用说明
使用Lombok首先需要在项目中作如下设置

8、FindBugs(推荐)
检测代码中可能的bug及不规范的位置,写完代码后检测下 避免低级bug。
静态分析工具承诺无需开发人员费劲就能找出代码中已有的缺陷。当然,如果有多年的编写经验,就会
知道这些承诺并不是一定能兑现。
插件提供地址:
https://plugins.jetbrains.com/plugin/3847-findbugs-idea
成功标志:重启idea后如果插件加载成功左下角出现

8.1、FindBugs的Bug种类说明
8.1.1、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的。
类名小写问题:

8.1.2、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。
8.1.3、Dodgy 危险的
具有潜在危险的代码,可能运行期产生错误,下面列举几个:
CI:类声明为final但声明了protected的属性。
DLS:对一个本地变量赋值,但却没有读取该本地变量;本地变量赋值成null,却没有读取该本地
变量。
ICAST:整型数字相乘结果转化为长整型数字,应该将整型先转化为长整型数字再相乘。
INT:没必要的整型数字比较,如X <= Integer.MAX_VALUE。
NP:对readline()的直接引用,而没有判断是否null;对方法调用的直接引用,而方法可能返回
null。
REC:直接捕获Exception,而实际上可能是RuntimeException。
ST:从实例方法里直接修改类变量,即static属性。
8.1.4、Performance 性能问题
可能导致性能不佳的代码,下面列举几个:
DM:方法调用了低效的Boolean的构造器,而应该用Boolean.valueOf(…);用类似
Integer.toString(1) 代替new Integer(1).toString();方法调用了低效的float的构造器,应该用静
态的valueOf方法。
SIC:如果一个内部类想在更广泛的地方被引用,它应该声明为static。
SS:如果一个实例属性不被读取,考虑声明为static。
UrF:如果一个属性从没有被read,考虑从类中去掉。
UuF:如果一个属性从没有被使用,考虑从类中去掉。
8.1.5、Multithreaded correctness 多线程的正确性
多线程编程时可能导致错误的代码,下面列举几个:
ESync:空的同步块,很难被正确使用。
MWN:错误使用notify(),可能导致IllegalMonitorStateException异常;或错误的使用wait()。
No:使用notify()而不是notifyAll(),只是唤醒一个线程而不是所有等待的线程。
SC:构造器调用了Thread.start(),当该类被继承可能会导致错误。
8.1.6、Internationalization 国际化
当对字符串使用upper或lowercase方法,如果是国际的字符串,可能会不恰当的转换。
9、Maven Helper(推荐)
作用:
一键查看maven依赖,查看冲突的依赖,一键进行exclude依赖
对于大型项目 非常方便
插件提供地址:
https://plugins.jetbrains.com/plugin/7179-maven-helper
成功标志:
重启idea后如果插件加载成功 打开pom文件左下角出现:

实际应用:
切换Dependency Analyzer试图即可进行相应操作:
1. Conflicts(查看冲突)
2. All Dependencies as List(列表形式查看所有依赖)
3. All Dependencies as Tree(树形式查看所有依赖)

10、VisualVM Launcher
作用:


运行java程序的时候启动visualvm,方便查看jvm的情况 比如堆内存大小的分配
某个对象占用了多大的内存,jvm调优必备工具
插件提供地址:
https://plugins.jetbrains.com/plugin/7115-visualvm-launcher
成功标志:
重启idea后如果插件加载成功右上角出现:


实际应用:
首先需要一个客户端(这里已经为大家准备好):
链接:https://pan.baidu.com/s/1kIduEykNNrYyZd1CwJpntg
密码:bxib
将客户端解压
打开settings配置面板
配置excutable===》选择到客户端的bin目录的visualvm.exe文件
然后点击ok。apply应用一下.

先介绍这么多把,有时间再一一介绍,有兴趣的可以参考文章顶部导航的插件,研究一下

【版权声明】本文为华为云社区用户原创内容,未经允许不得转载,如需转载请自行联系原作者进行授权。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。