百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 热门文章 > 正文

第二弹!安排!安利几个让你爽到爆的IDEA必备插件

bigegpt 2025-03-23 17:31 10 浏览

作者:Guide哥 来自:JavaGuide

大家好,我是Guide哥。上一篇关于IDEA插件推荐的文章:《第一弹!安排!安利10个让你爽到爆的IDEA必备插件!》收到了很多小伙伴的好评,时隔大半个月左右,第二弹IDEA插件总算来啦!

下面推荐的插件都是我觉得比较实用的,不过你可以根据自己的需要,适当进行选择。另外 IDEA 自带的很多插件如果没有用到的话都可以关掉,这样可以提高IDEA的运行速度。

目录:

  • Grep Console:控制台输出处理
  • Rainbow Brackets:彩虹括号
  • Save Actions:优化保存操作
  • SequenceDiagram:一键生成时序图
  • Maven Helper:分析Maven项目的相关依赖
  • EasyCode:一键帮你生成所需代码
  • CheckStyle:代码格式检查
  • SonarLint:帮你优化代码
  • Lombok:帮你简化代码
  • CodeGlance:代码微型地图
  • Java Stream Debugger:Java8 Stream调试器
  • Git Commit Template:使用模板创建commit信息
  • 其他常用插件推荐

Grep Console:控制台输出处理

可以说是必备的一个IDEA插件,非常实用!

这个插件主要的功能有两个:

1. 自定义设置控制台输出颜色

我们可以在设置中进行相关的配置:

配置完成之后的 log warn 的效果对比图如下:

2. 过滤控制台输出

Rainbow Brackets:彩虹括号

使用各种鲜明的颜色来展示你的括号,效果图如下。可以看出代码层级变得更加清晰了,可以说非常实用友好了!

Save Actions:优化保存操作

真必备插件!可以帮助我们在保存文件的时候:

  1. 优化导入;
  2. 格式化代码;
  3. 执行一些quick fix
  4. ......

这个插件是支持可配置的,我的配置如下:

实际使用效果如下:

SequenceDiagram:一键生成时序图

同样是一个必备的一个IDEA插件,非常实用。我一般用它来生成简单的方法时序图,方便我们阅读代码,特别是在代码的调用层级比较多的时候。

使用方法很简单,选中方法名(注意不要选类名),然后点击鼠标右键,选择 Sequence Diagram 选项即可!

配置完一些基本的选项比如调用深度之后,我们点击ok即可!在上面这张图中我们已经生成了调用方法之间的时序图。

时序图生成完成之后,你可以选择导出为图片或者text文件,你还可以通过生成的时序图来定位到相关的代码,这对于我们阅读源码的时候尤其有帮助!

Maven Helper:分析Maven项目的相关依赖

主要用来分析Maven项目的相关依赖,可以帮助我们解决Maven依赖冲突问题。

何为依赖冲突?

说白了就是你的项目使用的2个jar包引用了同一个依赖h,并且h的版本还不一样,这个时候你的项目就存在两个不同版本的 h。这时Maven会依据依赖路径最短优先原则,来决定使用哪个版本的Jar包,而另一个无用的Jar包则未被使用,这就是所谓的依赖冲突。

大部分情况下,依赖冲突可能并不会对系统造成什么异常,因为Maven始终选择了一个Jar包来使用。但是,不排除在某些特定条件下,会出现类似找不到类的异常,所以,只要存在依赖冲突,在我看来,最好还是解决掉,不要给系统留下隐患。

EasyCode:一键帮你生成所需代码

Easycode 可以直接对数据的表生成entity、controller、service、dao、mapper无需任何编码,简单而强大。


更多内容可以查看这篇文章:《懒人 IDEA 插件插件:EasyCode 一键帮你生成所需代码~》

CheckStyle:代码格式检查

这个插件的作用主要是为了规范代码格式比如说项目中一行代码最长是多少、项目中有没有无用的引用等等。非常实用!

一般情况下我们会在项目中配置 CheckStyle,并且自定义规则,然后再配置一个Commit 的 Git 钩子,这样我们在Commit代码的时候就会跑一遍 CheckStyle,看看项目代码的格式有问题不。

这个插件的作用主要是帮助我们定位问题,示例如下:

我们使用一个自定义的规则,然后运行 CheckStyle ,可以看到这个插件就帮我们找到有一个无用的 import。

SonarLint:帮你优化代码

SonarLint 帮助你发现代码的错误和漏洞,就像是代码拼写检查器一样,SonarLint 可以实时显示出代码的问题,并提供清晰的修复指导,以便你提交代码之前就可以解决它们。

并且,很多项目都集成了 SonarQube,SonarLint 可以很方便地与 SonarQube 集成。

Lombok:帮你简化代码

之前没有推荐这个插件的原因是觉得已经是人手必备的了。如果你要使用 Lombok 的话,不光是要安装这个插件,你的项目也要引入相关的依赖。

        
            org.projectlombok
            lombok
            true
        

使用 Lombok 能够帮助我们少写很多代码比如 Getter/Setter、Constructor等等。

关于Lombok的使用,可以查看这篇文章:《十分钟搞懂Java效率工具Lombok使用与原理》

CodeGlance:代码微型地图

提供一个代码的微型地图,当你的类比较多的时候可以帮忙你快速定位到要去的位置。这个插件在我们日常做普通开发的时候用处不大,不过,在你阅读源码的时候还是很有用的,如下图所示:

Java Stream Debugger:Java8 Stream调试器

Stream API 让你的代码更加优雅,但是有一个缺点是代码更难阅读和理解,没关系,这个插件应该可以帮助到你!


Git Commit Template:使用模板创建commit信息

没有安装这个插件之前,我们使用IDEA提供的Commit功能提交代码是下面这样的:

使用了这个插件之后是下面这样的,提供了一个commit信息模板的输入框:

完成之后的效果是这样的:

其他常用插件推荐

  1. leetcode editor :提供在线 Leetcode 刷题功能,比较方便我们刷题,不过我试用之后发现有一些小 bug,个人感觉还是直接在网站找题目刷来的痛快一些。
  2. A Search with Github :直接通过 Github搜索相关代码。
  3. stackoverflow : 选中相关内容后单击右键即可快速跳转到 stackoverflow 。
  4. CodeStream :让code review变得更加容易。
  5. Code screenshots :代码片段保存为图片。
  6. activate-power-mode : 写代码的时候自带动画效果!
  7. GitToolBox :Git工具箱
  8. OK, Gradle! :搜索Java库用于Gradle项目
  9. ......

相关推荐

最全的MySQL总结,助你向阿里“开炮”(面试题+笔记+思维图)

前言作为一名编程人员,对MySQL一定不会陌生,尤其是互联网行业,对MySQL的使用是比较多的。对于求职者来说,MySQL又是面试中一定会问到的重点,很多人拥有大厂梦,却因为MySQL败下阵来。实际上...

Redis数据库从入门到精通(redis数据库设计)

目录一、常见的非关系型数据库NOSQL分类二、了解Redis三、Redis的单节点安装教程四、Redis的常用命令1、Help帮助命令2、SET命令3、过期命令4、查找键命令5、操作键命令6、GET命...

netcore 急速接入第三方登录,不看后悔

新年新气象,趁着新年的喜庆,肝了十来天,终于发了第一版,希望大家喜欢。如果有不喜欢看文字的童鞋,可以直接看下面的地址体验一下:https://oauthlogin.net/前言此次带来得这个小项目是...

精选 30 个 C++ 面试题(含解析)(c++面试题和答案汇总)

大家好,我是柠檬哥,专注编程知识分享。欢迎关注@程序员柠檬橙,编程路上不迷路,私信发送以下关键字获取编程资源:发送1024打包下载10个G编程资源学习资料发送001获取阿里大神LeetCode...

Oracle 12c系列(一)|多租户容器数据库

作者杨禹航出品沃趣技术Oracle12.1发布至今已有多年,但国内Oracle12C的用户并不多,随着12.2在去年的发布,选择安装Oracle12c的客户量明显增加,在接下来的几年中,Or...

flutter系列之:UI layout简介(flutter-ui-nice)

简介对于一个前端框架来说,除了各个组件之外,最重要的就是将这些组件进行连接的布局了。布局的英文名叫做layout,就是用来描述如何将组件进行摆放的一个约束。在flutter中,基本上所有的对象都是wi...

Flutter 分页功能表格控件(flutter 列表)

老孟导读:前2天有读者问到是否有带分页功能的表格控件,今天分页功能的表格控件详细解析来来。PaginatedDataTablePaginatedDataTable是一个带分页功能的DataTable,...

Flutter | 使用BottomNavigationBar快速构建底部导航

平时我们在使用app时经常会看到底部导航栏,而在flutter中它的实现也较为简单.需要用到的组件:BottomNavigationBar导航栏的主体BottomNavigationBarI...

Android中的数据库和本地存储在Flutter中是怎样实现的

如何使用SharedPreferences?在Android中,你可以使用SharedPreferencesAPI来存储少量的键值对。在Flutter中,使用Shared_Pref...

Flet,一个Flutter应用的实用Python库!

▼Flet:用Python轻松构建跨平台应用!在纷繁复杂的Python框架中,Flet宛如一缕清风,为开发者带来极致的跨平台应用开发体验。它用最简单的Python代码,帮你实现移动端、桌面端...

flutter系列之:做一个图像滤镜(flutter photo)

简介很多时候,我们需要一些特效功能,比如给图片做个滤镜什么的,如果是h5页面,那么我们可以很容易的通过css滤镜来实现这个功能。那么如果在flutter中,如果要实现这样的滤镜功能应该怎么处理呢?一起...

flutter软件开发笔记20-flutter web开发

flutterweb开发优势比较多,采用统一的语言,就能开发不同类型的软件,在web开发中,特别是后台式软件中,相比传统的html5开发,更高效,有点像c++编程的方式,把web设计出来了。一...

Flutter实战-请求封装(五)之设置抓包Proxy

用了两年的flutter,有了一些心得,不虚头巴脑,只求实战有用,以供学习或使用flutter的小伙伴参考,学习尚浅,如有不正确的地方还望各路大神指正,以免误人子弟,在此拜谢~(原创不易,转发请标注来...

为什么不在 Flutter 中使用全局变量来管理状态

我相信没有人用全局变量来管理Flutter应用程序的状态。毫无疑问,我们的Flutter应用程序需要状态管理包或Flutter的基本小部件(例如InheritedWidget或St...

Flutter 攻略(Dart基本数据类型,变量 整理 2)

代码运行从main方法开始voidmain(){print("hellodart");}变量与常量var声明变量未初始化变量为nullvarc;//未初始化print(c)...