IntelliJ IDEA提升效率开发插件必备
工欲善其事,必先利其器,好的工具可以提升我们的开发效率,下面介绍几款个人觉得比较好的编辑器插件,不仅炫酷更重要可以提高你的工作效率。
本文是作者辛苦整理的16款插件,每个都是超级实用的,不好不介绍,相信体验过后才知道它的好。
- Activate-power-mode
- pojo-to-json
- SequenceDiagram
- Free Mybatis plugin
- Key promoter X
- CodeGlance
- JUnitGenerator V2.0
- GenerateAllSetter
- ideavim
- sonarlint
- restfultoolkit
- Translation
- GenerateSerialVersionUID
- Maven Helper
- Lombok Plugin
- JRebel for IntelliJ
Activate-power-mode 插件
我喜欢称这个插件叫,“会跳舞的神器”,先看下效果
你的代码在跳舞,跟随我的脚步,免费蹦迪,此插件有玩耍娱乐之嫌,实用性不高,耍酷还可以。下面介绍要说的重点插件,保证让你满意而归。
pojo-to-json idea 插件
工作中,为了测试需要,我们需要将简单 Java 领域对象转成 JSON 字符串方便用 postman 或者 curl 模拟数据
官方详细介绍地址 https://plugins.jetbrains.com/plugin/9686-pojo-to-json
安装插件后重启Idea,选择一个类,右键:
会复制生成的JSON到粘贴板中:ctr+V 就可以粘贴出来。
时序图生成工具:SequenceDiagram 插件
有的时候,我们需要梳理业务逻辑或者阅读源码。从中,我们需要了解整个调用链路,反向生成 UML 的时序图是强需求。其中,SequenceDiagram 插件是一个非常棒的插件。
官方详细介绍地址 https://plugins.jetbrains.com/plugin/8286-sequencediagram
比如:你想看某个方法的执行流程,可以选择右键这个方法接口或者方法实现
立即生成时序图
Free Mybatis plugin 插件
MyBatis 框架已经应用于各个地方。因此,围绕着 MyBatis 的插件和工具越来越多。Free Mybatis plugin 非常方便进行 Mapper 接口和 XML 文件之间跳转。
官方详细介绍地址 https://plugins.jetbrains.com/plugin/8321-free-mybatis-plugin
安装之后在Java dao层会生成一个标记,点击标记立即跳转到xml文件指定位置,非常方便:
并且xml里面还可以跳转会java dao 层指定的方法:
快捷键提示工具:Key promoter X
官方详细介绍地址 https://plugins.jetbrains.com/plugin/9792-key-promoter-x
这个插件什么用呢?举个例子,你想看某个方法内部实现的时候,如果你不用快捷键,你会这样鼠标点:
如果你安装了这个插件,你每次这样鼠标点击后,开发工具右下角会提示你,使用快捷键:
安装这个插件后,快捷键用的飞起来。
CodeGlance 插件
当你的类上千行的时候,在你往下拖拽找对象的时候,是不是感觉挺累的,有个这个插件,可以查看缩略图一样,快速切换到自己需要去的地方,飞翔的感觉。
官方详细介绍地址 https://github.com/Vektah/CodeGlance
安装后显示效果图如下:
JUnitGenerator V2.0 自动生成单元测试代码
编写单元测试是好的开发者的习惯,但是怎么提高你代码的效率,单元测试代码可否自动生成,这个插件就是帮我们做这事情。
修改JUnitGenerator V2.0 的配置,Settings下的 Other Settings 修改下模版和更新配置
设置成功后,就可以根据方法或者类生成单元测试模版了:
GenerateAllSetter 插件
当你进行对象之间赋值的时候,有没有觉得好麻烦,能不能有一个更好的办法呢~ 有,只要你选中需要生成set方法的对象,按下快捷键 alt+enter 界面如下:
有没有感觉很厉害, 官方详细介绍地址 https://plugins.jetbrains.com/plugin/9360-generateallsetter
ideavim 插件
让你的代码如飞:可以让你在编辑器中使用vim的命令操作,来回切换,尽量脱离鼠标的限制,提高你的开发效率,这个插件mac上面使用效果更好。 详细地址:http://plugins.jetbrains.com/plugin/164-ideavim
sonarlint 代码质量管理
找出你的代码隐藏bug或者坏味道
官方详细介绍地址 http://intellij.sonarlint.org
可以选择你要执行的代码类或者项目执行就可以类,下面会列出结果和意见
restfultoolkit 插件
Java WEB开发必备,再也不用全局搜索RequestMapping了
安装操作:
安装完毕之后使用,根据 URL 直接跳转到对应的方法定义windows ( Ctrl + \ or Ctrl +Alt + N ) 而 mac 机器快捷键:(Command +Option + N or Command+\)
还可以查看Services中所有的接口url list,并且模拟请求,非常方便,简化操作
中英文翻译工具:Translation
这个最长用就是阅读源码的时候,看别人的注释,英文不好的,可以安装一个。
官方详细介绍地址 https://plugins.jetbrains.com/plugin/8579-translation
选择要翻译的单词或者句子,右键或者快捷键,可以翻译操作:
GenerateSerialVersionUID 插件
Java 的序列化机制是通过在运行时判断类的serialVersionUID来验证版本一致性的。在反序列化时,JVM会把传来的字节流中的serialVersionUID与本地相应实体(类)的serialVersionUID进行比较,如果相同就认为是一致的,可以进行反序列化,否则就会出现序列化版本不一致的异常。所以生成serialVersionUID 会很频繁,这个插件一个快捷键帮你搞定 Alt + Insert
步骤1:先安装插件,根据上面的名字搜索安装
步骤2: 设置Inspections功能
这时候,在javabean里面,就可以看到编辑器右边有黄色的提示了,可以点开看看 将光标放到类名上,按atl+enter键,就会提示生成serialVersionUID了
(此图片来源于网络)
Maven Helper 插件
Maven的依赖机制会导致Jar包的冲突。举个例子,现在你的项目中,使用了两个Jar包,分别是A和B。现在A需要依赖另一个Jar包C,B也需要依赖C。但是A依赖的C的版本是1.0,B依赖的C的版本是2.0。这时候,Maven会将这1.0的C和2.0的C都下载到你的项目中,这样你的项目中就存在了不同版本的C,这时Maven会依据依赖路径最短优先原则,来决定使用哪个版本的Jar包,而另一个无用的Jar包则未被使用,这就是所谓的依赖冲突。
幸运的是什么呢?
在大多数时候,依赖冲突可能并不会对系统造成什么异常,因为Maven始终选择了一个Jar包来使用。
但是不幸的却是,不排除在某些特定条件下,会出现类似找不到类的异常,所以,只要存在依赖冲突,在我看来,最好还是解决掉,不要给系统留下隐患。
而要介绍的这个Maven Helper 插件就可以解决这个问题。
怎么用呢?
安装之后打开pom.xml文件,底部有个Dependency Analyzer选项,点击
下面如何解决冲突(此图片来源网络,这哥们标记的非常好,我就不重造轮子了)
还有一个小技巧可看整体项目Maven依赖结构图:
记住:图中看到有一些红色的实线,代表依赖冲突,蓝色实线代表正常的依赖
Lombok Plugin 插件
使用注解自动生成代码,码奴解放者,省去实体类的set get 注意还要在Maven项目的pom.xml中添加配置
<dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId><version>1.16.6</version></dependency>
具体的类上面打上@Data 即可
JRebel for IntelliJ 热部署插件
JRebel是一个提升生产力的工具,相信不少程序员改完代码后,最头疼的是不能直接看到效果,每次构建,重启以及重新部署的循环操作,时间无形中浪费掉了,有个这个插件,所改即所见,让你编码过程更加流畅。
END
推荐阅读
如有收获,请帮忙转发,您的鼓励是作者最大的动力!
长按下图关注公众号 架构师的修炼
IntelliJ IDEA提升效率开发插件必备的更多相关文章
- idea提升效率的插件
这篇文章用于记录idea插件.多分类记录确实可以提升效率. 1. FindBugs 虽说Idea本身提供的代码检查工具已经很强大了,但Idea提供的更多是规范性的检查,如果需要深入地检查异常,可以使用 ...
- fir.im Weekly - 17 个提升 iOS 开发效率的必备工具
本期 fir.im Weekly 精选了一些iOS 开发工具和动画源码分享,希望每个开发者能专注效率.实用.灵感. iOS开发工具--如何优化ipa包大小 @iOS程序犭袁 推荐了关于"如 ...
- 【老孟Flutter】6种极大提升Flutter开发效率的工具包
老孟导读:本文介绍6种极大提升Flutter开发效率的工具包. [1] 强大的日志软件包 在开发 Flutter 的过程中打印日志是常用的调试方式之一,但 Flutter 内置的日志打印非常简单,下面 ...
- Atitit.研发管理--提升效率--软件开发方法DSM总结o99
Atitit.研发管理--提升效率--软件开发方法DSM总结o99 1. 什么是DSM? 1 2. DSM使用的语言DSL 2 3. 模型的优点 2 4. DSM 跟与MDA区别 2 5. MDA的实 ...
- Atitit. 提升软件开发效率and 开发质量---java 实现dsl 4gl 的本质and 精髓 O725
Atitit. 提升软件开发效率and 开发质量---java 实现dsl 4gl 的本质and 精髓 O725 1. DSL主要分为三类:外部DSL.内部DSL,以及语言工作台. 1 2. DSL ...
- atitit.提升软件开发的效率and 质量的那些强大概念and方法总结
atitit.提升软件开发的效率and 质量的那些强大概念and方法总结 1. 主流编程中三个最糟糕的问题 1 1.1. 从理解问题后到实现的时间很长 1 1.2. 理解和维护代码 2 1.3. 学 ...
- atitit.提升软件开发效率大的总结O5
atitit.提升软件开发效率大的总结O5 #---平台化.组件化 1 #--cbb公用模块的建设 1 #---内部最佳流程方法跟实践的总结 2 #---内部知识体系的建设 2 #---问题Qa库的建 ...
- 使用Charles Proxy提升iOS开发效率
以前做前端开发的时候,使用最多的工具就是 Fiddler ,用来定位问题.模拟特定场景非常方便,极大提升了开发效率.而转做 iOS 开发以后,一大头疼的问题是 Fiddler 没有 Mac 版,幸亏找 ...
- IntelliJ IDEA,酷炫插件系列,提高你的工作效率
今天介绍一下IDEA的一些炫酷的插件,IDEA强大的插件库,不仅能给我们带来一些开发的便捷,还能体现我们的与众不同. 1.插件的安装 打开setting文件选择Plugins选项 Ctrl + Alt ...
随机推荐
- 几款常用的在线API管理工具(是时候抛弃office编写接口文档了)
在项目开发过程中,总会涉及到接口文档的设计编写,之前使用的都是ms office工具,不够漂亮也不直观,变更频繁的话维护成本也更高,及时性也是大问题.基于这个背景,下面介绍几个常用的API管理工具,方 ...
- Java监控任务的生命周期
Observable: public interface Observable { enum Cycle{ STARTED, RUNNING, DONE, ERROR } Cycle getCycle ...
- spring mvc 拦截器的使用
Spring MVC 拦截器的使用 拦截器简介 Spring MVC 中的拦截器(Interceptor)类似于 Servler 中的过滤器(Filter).用于对处理器进行预处理和后处理.常用于日志 ...
- Linux运维跳槽必备
Linux运维跳槽必备的40道面试精华题 1.什么是运维?什么是游戏运维?1)运维是指大型组织已经建立好的网络软硬件的维护,就是要保证业务的上线与运作的正常, 在他运转的过程中,对他进行维护,他集合了 ...
- CentOS 7.3 安装python3
1.排查 CentOS 7.3 默认安装的是python2,使用命令 python -V 可以看到 python 的版本 Python 2.7.5 然后使用命令 which python 查看一下Py ...
- 使用jqueryUI实现自由调整表格列宽
今天项目中需要插入表格,用Excel表格调整列宽时,想怎么拖就怎么拖,于是乎就让插入的表格也这么让人舒服.网上查找许久,没找到好用的方案.最后发现jQuery UI中的resizable()方法可以实 ...
- 个人永久性免费-Excel催化剂功能第105波-批量调整不规范的图形对象到单一单元格内存储
在日常制表过程中,一个不得不面对的问题,许多的工作起点是基于其他人加工过的表格,无论自己多大的本领,面对不规范的其他人的制作的表格,经过自己的手,该擦的屁股还是要自己去亲手去擦,而带出来的也只会是一堆 ...
- C#2.0新增功能01 分布类与分部方法
连载目录 [已更新最新开发文章,点击查看详细] 分部类型 拆分一个类.一个结构.一个接口或一个方法的定义到两个或更多的文件中, 每个源文件包含类型或方法定义的一部分,编译应用程序时将把所有部分组 ...
- 校园表白墙、微信表白墙、校园墙 微信小程序 JAVA 开发记录与分享
目录 最新版表白墙博客地址 1.微信小程序前台展示 2.功能介绍 3.后台管理 4.后端语言采用 JAVA 开发 5.体验此微信小程序 扫描下方二维码 6.如何联系我或需要源码进行联系 最新版表白墙博 ...
- C#编程.面向对象编程.可删除对象(Using{})
Using关键字可以在代码块中初始化使用重要资源的对象,Dispose()方法会在这个代码块的末尾自动调用,用法如下: <ClassName> <VariableName> = ...