工欲善其事,必先利其器,好的工具可以提升我们的开发效率,下面介绍几款个人觉得比较好的编辑器插件,不仅炫酷更重要可以提高你的工作效率。

本文是作者辛苦整理的16款插件,每个都是超级实用的,不好不介绍,相信体验过后才知道它的好。

  1. Activate-power-mode
  2. pojo-to-json
  3. SequenceDiagram
  4. Free Mybatis plugin
  5. Key promoter X
  6. CodeGlance
  7. JUnitGenerator V2.0
  8. GenerateAllSetter
  9. ideavim
  10. sonarlint
  11. restfultoolkit
  12. Translation
  13. GenerateSerialVersionUID
  14. Maven Helper
  15. Lombok Plugin
  16. 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中添加配置

  1. <dependency>
  2. <groupId>org.projectlombok</groupId>
  3. <artifactId>lombok</artifactId>
  4. <version>1.16.6</version>
  5. </dependency>

具体的类上面打上@Data 即可

JRebel for IntelliJ 热部署插件

JRebel是一个提升生产力的工具,相信不少程序员改完代码后,最头疼的是不能直接看到效果,每次构建,重启以及重新部署的循环操作,时间无形中浪费掉了,有个这个插件,所改即所见,让你编码过程更加流畅。

END

推荐阅读

解决RabbitMQ消息丢失问题和保证消息可靠性(一)

如何做程序员喜欢的测试妹子?

如有收获,请帮忙转发,您的鼓励是作者最大的动力!

长按下图关注公众号 架构师的修炼

IntelliJ IDEA提升效率开发插件必备的更多相关文章

  1. idea提升效率的插件

    这篇文章用于记录idea插件.多分类记录确实可以提升效率. 1. FindBugs 虽说Idea本身提供的代码检查工具已经很强大了,但Idea提供的更多是规范性的检查,如果需要深入地检查异常,可以使用 ...

  2. fir.im Weekly - 17 个提升 iOS 开发效率的必备工具

    本期 fir.im Weekly 精选了一些iOS 开发工具和动画源码分享,希望每个开发者能专注效率.实用.灵感.  iOS开发工具--如何优化ipa包大小 @iOS程序犭袁 推荐了关于"如 ...

  3. 【老孟Flutter】6种极大提升Flutter开发效率的工具包

    老孟导读:本文介绍6种极大提升Flutter开发效率的工具包. [1] 强大的日志软件包 在开发 Flutter 的过程中打印日志是常用的调试方式之一,但 Flutter 内置的日志打印非常简单,下面 ...

  4. Atitit.研发管理--提升效率--软件开发方法DSM总结o99

    Atitit.研发管理--提升效率--软件开发方法DSM总结o99 1. 什么是DSM? 1 2. DSM使用的语言DSL 2 3. 模型的优点 2 4. DSM 跟与MDA区别 2 5. MDA的实 ...

  5. Atitit. 提升软件开发效率and 开发质量---java 实现dsl 4gl 的本质and 精髓 O725

    Atitit. 提升软件开发效率and 开发质量---java 实现dsl 4gl 的本质and 精髓  O725 1. DSL主要分为三类:外部DSL.内部DSL,以及语言工作台. 1 2. DSL ...

  6. atitit.提升软件开发的效率and 质量的那些强大概念and方法总结

    atitit.提升软件开发的效率and 质量的那些强大概念and方法总结 1. 主流编程中三个最糟糕的问题 1 1.1. 从理解问题后到实现的时间很长 1 1.2. 理解和维护代码  2 1.3. 学 ...

  7. atitit.提升软件开发效率大的总结O5

    atitit.提升软件开发效率大的总结O5 #---平台化.组件化 1 #--cbb公用模块的建设 1 #---内部最佳流程方法跟实践的总结 2 #---内部知识体系的建设 2 #---问题Qa库的建 ...

  8. 使用Charles Proxy提升iOS开发效率

    以前做前端开发的时候,使用最多的工具就是 Fiddler ,用来定位问题.模拟特定场景非常方便,极大提升了开发效率.而转做 iOS 开发以后,一大头疼的问题是 Fiddler 没有 Mac 版,幸亏找 ...

  9. IntelliJ IDEA,酷炫插件系列,提高你的工作效率

    今天介绍一下IDEA的一些炫酷的插件,IDEA强大的插件库,不仅能给我们带来一些开发的便捷,还能体现我们的与众不同. 1.插件的安装 打开setting文件选择Plugins选项 Ctrl + Alt ...

随机推荐

  1. 把 python 程序打包成 egg 或者 whl 安装包

    原文出处:http://www.worldhello.net/2010/12/08/2178.html 本文略有改动 1.1 安装setuptools 首先要安装setuptools工具.Debian ...

  2. NOIP 2004 虫食算题解

    问题 E: [Noip2004]虫食算 时间限制: 1 Sec  内存限制: 128 MB 题目描述 所谓虫食算,就是原先的算式中有一部分被虫子啃掉了,需要我们根据剩下的数字来判定被啃掉的字母.来看一 ...

  3. Java EE核心框架实战(1)

    内容前言:本书适合具有一定Java编程基础的读者阅读,增强其项目实战能力. 2014年9月第1版 下载本书所有源代码可通过  http://pan.baidu.com/s/1i3sshXr 本书配套的 ...

  4. I/O:OutputStream

    OutputStream: void close() :关闭此输出流并释放与此流有关的所有系统资源. void flush() :刷新此输出流并强制写出所有缓冲的输出字节. void write(by ...

  5. linux 定时任务 crontabs 安装及使用方法

    boom 安装 crontab yum install crontabs centos7 自带了我没有手动去装 启动/关闭 service crond start // 启动服务 service cr ...

  6. 浅谈ActiveMQ与使用

    一.什么是消息中间件 消息中间件顾名思义实现的就是在两个系统或两个客户端之间进行消息传送 二.什么是ActiveMQ ActiveMQ是一种开源的基于JMS(Java Message Servie)规 ...

  7. css的优先级 和 权重问题 以及 !important 优先级

    css的优先级 和 权重问题 以及 !important 优先级 css选择有多少种? 行内样式(style="") id选择器(#) class选择器(类,伪类) 元素选择器(标 ...

  8. Modify column Vs change column

    引言 I know, we can not rename a column using modify column syntax,but can change column syntax. My qu ...

  9. Centos7配置BIND开机自启动

    Centos7上面已经把/etc/init.d/服务的启动方式更改为systemctl启动. 当然编译安装仍然可以/etc/init.d/手动启动但是chkconfig –add named就用不了. ...

  10. 【TensorFlow 3】mnist数据集:与Keras对比

    在TF1.8之后Keras被当作为一个内置API:tf.keras. 并且之前的下载语句会报错. mnist = input_data.read_data_sets('MNIST_data',one_ ...