InteliJ IDEA常用插件推荐

网友投稿 1540 2022-05-30

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(推荐)

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

():

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。

InteliJ IDEA常用插件推荐

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应用一下.

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

IdeaHub华为云会议宝

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:WEB安全防护相关响应头(下)
下一篇:Excel重复数据的常见处理方法是什么
相关文章