IDEA常用插件Top18

news2024/11/24 20:25:04

前言:精心推荐给大家的一些日常开发中最常用的IDEA效率插件。

1、Alibaba Java Coding Guidelines代码规范检查工具

Alibaba Java Coding Guidelines ,阿里的一款强大的代码规范检查工具,可以让自己写出易读性更高的代码,可以让团队代码风格尽量统一易于维护。

前面博客已经介绍过了,不赘述了:Alibaba Java Coding Guidelines 代码规范检查工具

不扫不知道,一扫吓一跳,以前不以为然的写法,都会在这暴露无疑。

2、CodeGlance 右侧代码预览小地图

CodeGlance是一款代码编辑区缩略图插件,可以快速定位代码,使用起来比拖动滚动条方便多了

可以在设置里面设置宽度或则关闭该功能

3、GSONFormat

可以利用 GsonFormat插件,解析Json格式数据快速创建符合 Gson要求的 JavaBean

每次遇到Json数据,我都得好好研究结构,然后怎么新建JavaBean,捣鼓很长时间,安装好 GsonFormat插件后没想到一个点击就能解决:

a、首先新建你要的JavaBean实体类,类名根据你的需求来定,无任何内容,就一个空类

b、然后直接使用快捷键ALT+S或则对着类名右击—>Generate—>点击GsonFormat

把你要解析的Json数据直接粘过来,点击就OK就行了(如果觉得丑不利查看,可以还可格式化json)

参考链接:Idea中GsonFormat插件安装

4、Grep Console 控制台log日志高亮显示

由于Intellij idea不支持显示ascii颜色,grep-console插件能很好的解决这个问题, 可以设置不同级别log的字体颜色和背景色。

控制台输出效果:

5、RestfulToolkit 一套 RESTful 服务开发辅助工具集

扫描工作空间下所有项目中的rest接口,即所有的Controller。Java WEB开发必备,再也不用全局搜索RequestMapping了:

    1.根据 URL 直接跳转到对应的方法定义 ( or Ctrl Alt N );
    2.提供了一个 Services tree 的显示窗口;
    3.一个简单的 http 请求工具;
    4.在请求方法上添加了有用功能: 复制生成 URL、复制方法参数......
    5.其他功能:Java 类上添加 Convert to JSON 功能,格式化 json 数据 ( 快捷键Ctrl + Enter )。

安装后,右侧会有RestServices侧边栏,点击打开

6、searchOverflow 复制错误信息到 Stack Overflow搜索

选择错误信息,可以右键快捷可以直接从stackoverflow搜索错误信息

Stack Overflow和Github是程序员世界里面最重要的两大网站,基本上我们项目上遇到的Bug都能从从stackoverflow里面找到解决方案。

7、Translation 翻译插件

在IDE - Settings - Plugins - Browse repositories 中搜索 Translation 并安装

安装后使用非常简单, 选中懵逼单词点击右键选择对应菜单项Translate即可:

      

8、Key promoter X快捷键提示工具

适合不熟悉IDEA快捷键的新手程序员们

9、IDEA Restart

IntelliJ IDEA 2020.1.3这个版本没有重启的选项,这个工具就是来弥补这个功能,可以在File-->Restart 重启,也可以使用快捷键  CTRL + ALT + R

10、MyBatisCodeHelperPro mybatis代码自动生成插件

MyBatisCodeHelper-Pro是IDEA下的一个插件,功能类似mybatis plugin。

绿色版链接:MyBatisCodeHelper-Pro插件[2.7.6]

MyBatis-Plugin插件的功能简介如下:

              ① 提供Mapper接口与配置文件中对应SQL的导航.

              ② 编辑XML文件时自动补全.

              ③ 根据Mapper接口, 使用快捷键生成xml文件及SQL标签.

              ④ ResultMap中的property支持自动补全,支持级联(属性A.属性B.属性C).

              ⑤ 快捷键生成@Param注解.

              ⑥ XML中编辑SQL时, 括号自动补全.

              ⑦ XML中编辑SQL时, 支持参数自动补全(基于@Param注解识别参数).

              ⑧ 自动检查Mapper XML文件中ID冲突.

              ⑨ 自动检查Mapper XML文件中错误的属性值.

              10 支持Find Usage.

              12 支持重构从命名.

              13 支持别名.

              14 自动生成ResultMap属性.

              15 快捷键: Option + Enter(Mac) | Alt + Enter(Windows).  


11、Maven Helper 解决Maven项目依赖冲突

开发过程中,我们难免会遇到各种jar包冲突,Maven Helper可以很方便的找到和排除冲突的依赖。

打开需要进行分析的pom文件

 可以看到依赖包的层级,Exclude移除冲突依赖

然后pom中自动添加<exclision>移除标签

 
  1. <!--SpringMVC和Tomcat支持-->

  2. <dependency>

  3. <groupId>org.springframework.boot</groupId>

  4. <artifactId>spring-boot-starter-web</artifactId>

  5. <exclusions>

  6. <exclusion>

  7. <artifactId>log4j-api</artifactId>

  8. <groupId>org.apache.logging.log4j</groupId>

  9. </exclusion>

  10. </exclusions>

  11. </dependency>


12、FindBugs 查找隐藏的bug

FindBugs是一款静态分析工具,检查程序潜在bug,在bug报告中快速定位到问题的代码上。

FindBugs 运行需要 1.7 或更高版本的 JRE(或 JDK),但是它可以分析从任何版本的 Java 编译的程序,从1.0 到 1.8。

这个插件可以帮助我们查找隐藏的bug,比较重要的功能就是查找潜在的null指针。

在编写代码的过程中,我们可能不会一直记得检查空的引用,在我们测试时可能很难发现问题,但是应用上线之后,面对大量的用户,很多问题就会浮现出来。所以在编码时,使用FindBugs检查一下很有必要。

安装好重启,在IEDA左下角会有FindBugs—IDEA标志的控制面板:

可以分析单个文件,包下面的所有文件,整个module下的文件,整个project下的文件,右键想要分析的文件名/包名/module名/project

分析完之后就会出现结果面板,点击对应的item在右边会定位到具体的代码:

根据需要可以进行更改,其中Correctness这个错误是我们重点关注的对象,这里大多是空指针的错误,根据提示进行处理。

注意:FindBugs 只是一款静态代码分析工具, 虽然分析大多数的问题, 但是如果希望编写更为健壮的程序, 还需进行更多的测试操作, 切不可认为 FindBugs 没有分析出问题便认为没有问题了。

还有一些其他常见的错误信息介绍可以了解一下:FindBugs-IDEA插件的使用


13、aiXcoder代码智能补全

aiXcoder 一款国产代码开发工具,提供了比较强大的代码补全和预测的功能,它的宗旨就是让我们少些代码,能自动生成的绝不手写,上手感受下就会爱上它。


14、easy_javadoc快速注释

easy_javadoc是一个可以快速为Java的类、方法、属性加注释的插件,还支持自定义注释样式,IDEA自身的Live Templates也支持,不过操作稍显繁琐,使用时效率不太高。

在为类、方法、属性加注释时,不仅会生成注释,还是会将对应变量、类、方法翻译成中文名,不过翻译的怎么样还要取决于你的命名水平。

 快捷键:crtl + \

 是不是觉得一点点加注释效率太低了,你也可以尝试批量添加注释。


15、EasyCode自动生成代码

Easy Code 个人在写博客案例demo时用的比较多,它可以快速的将数据库表映射成Java中的entitycontrollerservicedaomapper等文件,少量编码实现快速开发。

(1)先用database连接数据库,在对应表上直接右键执行EasyCode即可生成相应Java代码,真的很方便。

(2)在这个里面找到你想生成的表,然后右键,就会出现如下所示的截面。

(3)点击1所示的位置,选择你要将生成的代码放入哪个文件夹中,选择完以后点击OK即可。

(4)勾选你需要生成的代码,点击OK。

 (5)这样的话就完成了代码的生成了,生成的代码如下图所示:


16、Statistic插件统计代码数量

(1)插件安装

File->settings->plugins,点击"Marketplace"输入"Statistic"搜索

(2)重新启动IDEA,选择下面任务栏的Statistic标签,点击refesh即可看到代码量统计结果。

Overview 参数说明

  • Count : java文件的数量

  • Size SUM : java所有文件总占用硬盘大小

  • Size MIN : java文件的最小文件占用硬盘大小

  • Size MAX : java文件的最大文件占用硬盘大小

  • Size AVG : java文件的平均占用硬盘大小

  • Lines : java文件的总行数

  • Lines MIN : java文件的最小行数

  • Lines MAX : java文件的最大行数

  • Lines AVG : java文件的平均行数

指定文件类型(比如Java)统计参数说明

  • Total Lines :代码总行数(包括注释,空行)

  • Source Code Lines :源代码行数(不包括注释,空行)

  • Source Code Lines(%) :源代码行数百分比(Source Code Lines/Total Lines)

  • Comment Lines :注释行数

  • Comment Lines(%) : 注释行数百分比(Comment Lines/Total Lines)

  • Blank Lines : 空行数

  • Blank Lines(%) : 空行百分比(Blank Lines/Total Lines)


17、Mybatis Log Plugin 自动拼接真实SQL

这个插件就是把日志中运行的sql自动进行拼装,然后单独分离出来打印到sql的控制台,使开发者很方便的查看输出真实sql,去Navicat执行排查问题。

安装之后在工具栏中启动:

启动项目,只要控制台有sql打印,Mybatis Log Plugin 都会在该控制台将SQL自动拼装打印出来,还可以根据mapper文件中定义的sql_id进行搜索。


18、SonarLint 代码质量检测

SonarLint是一个代码质量检测插件,可以帮助我们检测出代码中的坏味道。

​​​有了代码质量检测工具以后,在一定程度上可以保证代码的质量。对于每一个问题,SonarLint都给出了示例,还有相应的解决方案,教我们怎么修改,极大的方便了我们的开发。

比如,对于日期类型尽量用LocalDate、LocalTime、LocalDateTime,还有重复代码、潜在的空指针异常、循环嵌套等等问题。


参考链接:

10个解放双手的 IDEA 插件,这些代码真不用手写

IntelliJ Idea 常用10款插件(提高开发效率)

EasyCode(代码神器)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/635607.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Keepalived+LVS

这里写目录标题 一、Keepalived及其工作原理1.1Keepalived体系主要模块及其作用1.3VRRP &#xff08;虚拟路由冗余协议&#xff09; 二、keepalived实验部署主服务器&#xff1a;备用服务器配置节点 一配置节点二 三、测试 一、Keepalived及其工作原理 Keepalived 是一个基于V…

Linux编译器 gcc、g++

绪论 你热爱生命吗&#xff1f;那幺别浪费时间&#xff0c;由于时间是组成生命的材料。——富兰克林 。 本篇文章写了主要写了Linux下编译器&#xff0c;以及编译器是如何实现编译的过程。 话不多说安全带系好&#xff0c;发车啦&#xff08;建议电脑观看&#xff09;。 附&…

2.30 守护进程(1) 2.31 守护进程(2)

2.30 守护进程&#xff08;1&#xff09; 终端 echo $$//查看当前终端的的pid tty//查看当前终端设备控制终端可以操作某一个进程。 进程组 会话 进程组、会话、控制终端之间的关系 find/2 查看2重定向到dev/null设备上&#xff0c;|管道&#xff08;创建子进程&#xff09…

RK3588平台开发系列讲解(USB篇)USB Device端口组合配置过程

文章目录 一、configfs二、configfs 配置过程2.1、使能相关的宏2.2、挂载configfs2.3、创建名为g1的usb复合设备2.4、配置PID和VID2.5、创建并配置strings子目录2.6、创建configuration和字符串2.7、创建functions2.8、将functions和configuration关联起来2.9、绑定到UDC,使能…

数据的存储练习题 -- (解题思路+代码)

目录 前言 知识补充 有符号和无符号的区别 练习一 练习二 练习三 练习四 练习五 练习六 练习七 前言 书接上回&#xff0c;我们学习了整形数据在内存中是怎么存储的。本篇我们就利用这些知识来做一些练习题目&#xff0c;把这些知识很好的消化掉。 知识补充 对…

简单的TCP网络程序·单进程

目录 文件1&#xff1a;tcpServer.cc 文件2&#xff1a;tcpServer.hpp 1.提出日志概念 -- 在后续完善 日志格式 -- 暂定简单的打印功能 2.创建套接字 SOCK_STREAM -- socket参数 3.bind自己的套接字 4.设置socket 为监听状态 * 新接口1&#xff1a;listen 函数1&…

IIC协议总结

IIC&#xff08;Inter-Integrated Circuit) &#xff0c;简单说就是IC&#xff08;芯片&#xff09;之间通信的总线。所谓总线&#xff0c;就是各个器件都并联到一组公共的线路上&#xff0c;然后共用这条线路来传输数据。总线的英文名为BUS&#xff0c;这是个形象的名字&#…

chatgpt赋能python:Python如何取三位数的每一位

Python如何取三位数的每一位 作为一门广泛应用的编程语言&#xff0c;Python在数值相关处理方面也十分得心应手。取三位数的每一位是一个常见的需求&#xff0c;那么在Python中该如何实现呢&#xff1f; 1. 数字字符串切片 Python中的字符串有索引和切片功能&#xff0c;我们…

chatgpt赋能python:Python如何命名输出图片名字

Python 如何命名输出图片名字 Python 是一种非常流行的编程语言。它非常灵活&#xff0c;可以用于各种应用场景。其中一个应用是图像处理。在 Python 中&#xff0c;我们可以使用不同的库来读取和处理图像。但是&#xff0c;当处理大量图片时&#xff0c;给每个图片命名会变得…

UDS关于0x37服务退出传输学习笔记

1.服务说明 客户端使用此服务来终止客户端和服务器之间的数据传输&#xff08;上传或下载&#xff09;。 2.请求消息 2.1请求消息子功能参数$Level&#xff08;LEV_&#xff09;定义 此服务不使用子函数参数。 2.2请求消息数据参数定义 transferRequestParameterRecord&a…

C++技能 - 详解const的几种使用【再也不迷糊了,干货还是蛮多的】

系列文章目录 C高性能优化编程系列 深入理解软件架构设计系列 高级C并发线程编程 C技能系列 期待你的关注哦&#xff01;&#xff01;&#xff01; 生活就是上帝发给你的一张手牌&#xff0c;无论多烂&#xff0c;你都得拿着。 Life is god give you a hand, no matter ho…

RK3588平台开发系列讲解(以太网篇)MDIO底层驱动

平台内核版本安卓版本RK3588Linux 5.10Android 12文章目录 一、mdiobus总线二、mdiobus的注册沉淀、分享、成长,让自己和他人都能有所收获!😄 一、mdiobus总线 mdio bus是mdio管里phy寄存器的总线,此总线非设备驱动模型之总线。mdiobus在内核中用mii_bus结构体描述,mii_b…

基于51单片机的电子钟Protues仿真设计

一、设计背景 电子钟是指利用数字电路或单片机等现代电子技术来实现时间计量和显示的钟表。相较于传统机械钟、石英钟等时钟&#xff0c;电子钟具有精度高、音响小、易于制造和调节等优点&#xff0c;同时也由于其美观大方的外观设计而成为了家居装饰中不可或缺的一部分。 其…

初探react中使用MongoDB

MongoDB介绍与安装 什么是MongoDB 来自于英文单词“Humongous”&#xff0c;中文含义表示“庞大”面向文档存储的开源数据库由C编写&#xff0c;支持多种语言连接 为什么要用MongoDB 性能好&#xff08;内存计算&#xff09;大规模数据存储&#xff08;可拓展性&#xff09…

Cracking C++(9): 编译选项的设置

文章目录 1. 目的2. 生成 hello 可执行程序的过程3. 编译选项4. overlook 项目简介4.1 基本用法4.2 典型例子&#xff1a; 函数缺少返回值 1. 目的 对应到 hackingcpp 网站上 Hello World 这一节内容的笔记和个人的拓展。 2. 生成 hello 可执行程序的过程 #include <iost…

牛客网专项练习——C语言错题集(3)

文章目录 函数的缺省返回值类型找不同数组指针 函数指针const 与 指针函数里操作外面传进来的数组 函数的缺省返回值类型 “在C语言中&#xff0c;凡不加返回值类型限定的函数&#xff0c;就会被编译器作为返回整型值处理。” 这是初学学 C 语言时有接触到的一个概念&#xf…

RK3588平台开发系列讲解(进程篇)进程task_struct结构体详解(一)

平台内核版本安卓版本RK3588Linux 5.10Android 12文章目录 一、任务 ID二、信号处理三、任务状态四、进程调度沉淀、分享、成长,让自己和他人都能有所收获!😄 📢 Linux 里面,无论是进程,还是线程,到了内核里面,我们统一都叫任务(Task),由一个统一的结构 task_stru…

1.uniapp可视化操作-diygw

DAY1-uniapp可视化操作:DIY可视化-拖拽设计1天搞定主流小程序环境安装 文章目录 DAY1-uniapp可视化操作:DIY可视化-拖拽设计1天搞定主流小程序环境安装前言一、DIY可视化桌面客户端安装:二、小皮管理面板phpstudy(或者宝塔桌面)三、phpstorm开发工具:四、Vs Code安装:五、hbuil…

《Java Web轻量级整合开发入门》学习笔记

轻量级Java Web整合开发 第一章 轻量级Java Web开发概述 1.2 java web 开发概述 1.JSP是一种编译执行的前台页面技术。对于每个JSP页面&#xff0c;Web服务器都会生成一个相应的Java文件&#xff0c;然后再编译该Java文件&#xff0c;生成相应的Class类型文件。在客户端访问到…

chatgpt赋能python:Python怎么合并字典

Python怎么合并字典 在Python编程中&#xff0c;字典是一种非常有用的数据结构。它由一组键值对组成&#xff0c;每个键值对都是一个键和对应的值。有时候&#xff0c;我们需要将两个或多个字典合并为一个大的字典。本文将介绍Python中合并字典的方法。 方法一&#xff1a;使…