点击上方“方志朋”,选择“设为星标”

回复”666“获取新整理的面试资料

IntelliJ IDEA是目前最好最强最智能的Java IDE,2019年1月,他刚刚年满18岁。

本文,给大家推荐几款我私藏已久的,自己经常使用的,可以提升代码效率的插件。

1

IDEA插件简介

常见的IDEA插件主要有如下几类:

常用工具支持

Java日常开发需要接触到很多常用的工具,为了便于使用,很多工具也有IDEA插件供开发使用,其中大部分已经在IDEA中默认集成了。例如maven、git、svn、tomcat、jetty、jrebel、Gradle等。

功能增强

还有些插件提供了一些IDE中不具有的功能,比如静态代码扫描、代码自动生成等。

框架集成

集成框架主要是为了提供框架定制的代码和配置的生成,以及快速的访问框架提供的功能。例如集成Spring框架,Mybatis框架等。

UI定制化及优化

UI定制化相关的插件主要提供一下个性化需求定制,例如修改编辑区的背景图片插件、修改代码颜色等。

其他编程语言支持

IDEA主要支持Java,为了使用其他语言,可以使用一些支持其他语言的插件,通过这些插件可以实现语法分析,配色主题,代码格式化和提示等功能。例如Go语言的支持的插件。

个人或者公司特殊需求

公司内部插件

2

我的插件一览

这里简单介绍一些笔者日常开发中使用到的插件。 以下是我的IDEA中自己安装的插件列表。

这些插件都是我经过很长时间的使用之后最终保留下来的,都是值得安装的一些插件。其中被我打码的就是公司内部插件。

3

IDEA插件安装

IDEA的插件安装非常简单,对于很多插件来说,只要你知道插件的名字就可以在IDEA里面直接安装。

Preferences—>Plugins—>查找所需插件—>Install

或者

Preferences—>Plugins—>Install plug from disk —>选择下载好的插件安装

安装之后重启IDEA即可生效

IDEA插件仓库

IntelliJ IDEA激发了许多Java开发人员编写插件, IntelliJ IDEA Plugins 中目前包含3000+个插件并且还在不断增长。

IDEA插件仓库地址呢:

https://plugins.jetbrains.com/?idea

4

基本功能

作者目前使用的IntelliJ IDEA版本是专业版2018.2.4(Ultimate Edition)

很多插件中提供的功能在这个版本中都已经集成进来了,这里简单说几个可能比较常用的,这几种功能就无需加装插件了。

1

背景图片

目前,IDEA支持设置背景图片。这对于广大程序员来说无疑是个好功能。整日对着枯燥的代码实在是会让人疲乏。要是可以设置一张美女图片的话。。。

设置方法

Ctrl+Shift+A(或者help -> find action)调用弹窗后输入Set Background Image

在里面设定要设置为Image的图片,透明度调到15左右,保存即可。

效果如下

2

内置terminal

目前IntelliJ IDEA已经有一个内置的terminal工具,可以方便的使用shell命令。

3

内置support

目前很多新版本的IntelliJ IDEA中,已经内置了很多support插件,比如我们常用的markdown support 、UML support 以及 android support等。

PS:由于作者使用的是专业版,不知道社区版是否也会内置这些插件,如果没有内置的话,读者可以根据需要自行下载相关插件并安装。

有了markdowm support插件以后,就可以直接预览md语法的内容了。

5

必备插件

接下来,开始介绍一些我比较常用的插件,这些插件可以大大提升开发效率。

1

Maven Helper

目前,Java开发很多都在使用maven进行项目管理和自动构建。

日常开发中,可能经常会遇到jar包冲突等问题,就需要通过查看maven依赖树来查看依赖情况。这种方式不是很高效,这里推荐一个插件,安装之后,直接打开pom文件,即可查看依赖数,还能自动分析是否存在jar包冲突。

一旦安装了Maven Helper插件,只要打开pom文件,就可以打开该pom文件的Dependency Analyzer视图(在文件打开之后,文件下面会多出这样一个tab)。

进入Dependency Analyzer视图之后有三个查看选项,分别是Conflicts(冲突)、All Dependencies as List(列表形式查看所有依赖)、All Dependencies as Tree(树结构查看所有依赖)。并且这个页面还支持搜索。

2

FindBugs-IDEA

FindBugs很多人都并不陌生,Eclipse中有插件可以帮助查找代码中隐藏的bug,IDEA中也有这款插件。

使用方法很简单,就是可以对多种级别的内容进行finbugs

分析完之后会有一个视图进行提示,详细的说明是哪种问题。

 按照提示解决完问题之后再执行findbug查看情况即可。

3

阿里巴巴代码规约检测

2017年10月14日杭州云栖大会,Java代码规约扫描插件全球首发仪式正式启动,规范正式以插件形式公开走向业界,引领Java语言的规范之路。

Java代码规约扫描插件以今年年初发布的《阿里巴巴Java开发规约》为标准,作为Eclipse、IDEA的插件形式存在,检测JAVA代码中存在不规范得位置然后给予提示。规约插件是采用kotlin语言开发的,感兴趣的同学可以去开看插件源码。

阿里巴巴规约插件包含三个子菜单:编码规约扫描、关闭试试检测功能。

并且,该插件支持在编写代码的同时进行提示,

这款插件,真的可以很大程度上提升代码质量,一定要安装。

4

GsonFormat

Java开发中,经常有把json格式的内容转成Object的需求,比如项目开始时,合作方给你提供了一个json格式request/response,这时候你就需要将其定义成一个Java类,GsonFormat这款插件可以实现该功能。

5

Lombok plugin

在Java中,我们经常会定义很多JavaBean,这些Bean需要有getter、setter、toString、equals和hashCode等方法。

通常情况下,我们可以使用IDEA的快捷键生成这些代码,但是自动生成的代码后,如果bean中的属性一旦有修改,需要重新生成,给代码维护增加了一定的负担。

有一款很好的插件,可以帮助开发者节省这部分工作。那就是Lombok。

只要在IDEA中安装了该插件,只需要在JavaBean中添加一行注解代码,插件就会自动帮我们生成getter、setter、toString、equals和hashCode等方法。

当然,这些方法不止在IDE中的代码调用中需要用到,在真正线上部署的时候也需要有,所以,还需要使用maven引入一个lombok的包。

<dependency>      <groupId>org.projectlombok</groupId>      <artifactId>lombok</artifactId>      <version>1.16.10</version></dependency>/** * @author Hollis */public class HollisLab {    public static void main(String[] args) {        Wechat wechat = new Wechat();        wechat.setId("Hollis");        wechat.setDesc("每日更新Java技术文章");        System.out.println(wechat);    }}@Dataclass Wechat {    private String id;    private String desc;}

输出结果:

Wechat(id=Hollis, desc=每日更新Java技术文章)

我们在Wechat类上面添加了@Data注解,插件就自动帮我们添加了getter/setter和toString方法。

6

String Manipulation

字符串日常开发中经常用到的,但是不同的字符串类型在不同的地方可能有一些不同的规则,比如类名要用驼峰形式、常量需要全部大写等,有时候还需要进行编码解码等。这里推荐一款强大的字符串转换工具——String Manipulation。

它强大到什么程度,看下他的功能列表你就知道了:

  • 文本转换操作

    • 切换样式(camelCase, hyphen-lowercase, HYPHEN-UPPERCASE, snake_case, SCREAMING_SNAKE_CASE, dot.case, words lowercase, Words Capitalized, PascalCase)

    • 转换为SCREAMING_SNAKE_CASE (或转换为camelCase)

    • 转换为 snake_case (或转换为camelCase)

    • 转换为dot.case (或转换为camelCase)

    • 转换为hyphen-case (或转换为camelCase)

    • 转换为hyphen-case (或转换为snake_case)

    • 转换为camelCase (或转换为Words)

    • 转换为camelCase (或转换为lowercase words)

    • 转换为PascalCase (或转换为camelCase)

    • 选定文本大写

    • 样式反转

  • Un/Escape

    • Un/Escape 选中的 java 文本

    • Un/Escape 选中的 javascript 文本

    • Un/Escape 选中的 HTML 文本

    • Un/Escape 选中的 XML 文本

    • Un/Escape 选中的 SQL 文本

    • Un/Escape 选中的 PHP 文本

    • 将 diacritics(accents) 转换为 ASCII

    • 将非ASCII 转换为转义的Unicode

    • 将转义的Unicode转换为字符串

  • Encode/Decode

    • Encode 选中的文本为 MD5 Hex16

    • De/Encode 选中的文本为 URL

    • De/Encode 选中的文本为 Base64

  • 递增/递减

    • 递增/递减所有找到的数字

    • 复制行并且递增/递减所有找到的数字

    • 创建序列:保持第一个数字,递增替换所有其他数字

    • 递增重复的数字

  • 按自然顺序排序

    • 按行倒序

    • 按行随机排序

    • 区分大小写A-z排序

    • 区分大小写z-A排序

    • 不区分大小写A-Z排序

    • 不区分大小写Z-A排序

    • 按行长度排序

    • 通过子选择行排序:每行仅处理一个选择/插入符号

  • 对齐

    • 通过选定的分隔将选定的文本格式化为列/表格

    • 将文本对齐为左/中/右

  • 过滤/删除/移除

    • grep选定的文本,所有行不匹配输入文字将被删除。 (不能在列模式下工作)

    • 移除选定的文本

    • 移除选定文本中的所有空格

    • 删除选定文本中的所有空格

    • 删除重复的行

    • 只保留重复的行

    • 删除空行

    • 删除所有换行符

  • 其他

    • 交换字符/选择/线/标记

    • 切换文件路径分隔符:Windows < – > UNIX

安装好插件后,选中需要处理的内容后,按快捷键Alt+m,即可弹出工具功能列表。

很好很强大的一款字符串处理工具。

7

.ignore

目前很多开发都在使用git做版本控制工具,但是有些时候有些代码我们是不想提到到我们的代码仓库中的,比如ide自动生成的一些配置文件,或者是我们打包生成的一些jar文件等,这时候就需要编写一个.ignore文件,来排除那些不想被版本管理的文件。

这里推荐一个好用的插件.ignore,他可以帮我们方便的生成各种ignore文件。

安装插件后,选中项目,右键新建的时候,会多出一个.ignore文件的选项,可以通过这个选项创建ignore文件。

在弹出的对话框中,可以自动帮我们生成一份.ignore文件,这里我们让其帮忙自动排除所有和idea有关的文件。

8

Mybatis plugin

目前ORM框架中,Mybatis非常受欢迎。但是,同时给很多开发带来困扰的就是Mybatis需要很多xml的配置文件,有的时候很难去进行修改。

这里推荐一款神器,可以让你像编辑java代码一样编辑mybatis的文件。

Intellij Idea Mybatis插件主要功能:

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

  • 编辑XML文件时自动补全

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

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

  • 快捷键生成@Param注解

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

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

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

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

  • 支持Find Usage

  • 支持重构从命名

  • 支持别名

  • 自动生成ResultMap属性

 (图源:https://www.oschina.net/p/intellij-mybatis-plugin)

但是这款插件是收费的,但是不影响他确实是一个很实用,可以很大程度上提升开发效率的插件。读者可以考虑使用Free Mybatis plugin(这款插件我没用过,具体是否好用有待考证)。

9

Key promoter X

对于很多刚刚开始使用IDEA的开发者来说,最苦恼的就是不知道快捷键操作是什么。

使用IDEA,如果所有操作都使用鼠标,那么说明你还不是一个合格的程序员。

这里推荐一款可以进行快捷键提示的插件Key promoter X。

Key Promoter X 是一个提示插件,当你在IDEA里面使用鼠标的时候,如果这个鼠标操作是能够用快捷键替代的,那么Key Promoter X会弹出一个提示框,告知你这个鼠标操作可以用什么快捷键替代。

当我使用鼠标查看一个方法都被哪些类使用的时候,就会提示:

记住这个快捷键以后,就可以使用快捷键代替鼠标啦。

10

AceJump

前面介绍了一款可以通过使用快捷键来代替鼠标操作的插件,这里再介绍一款可以彻底摆脱鼠标的插件,即AceJump

AceJump允许您快速将光标导航到编辑器中可见的任何位置,只需点击“ctrl +;”,然后输入一个你想要跳转到的字符,之后键入匹配的字符就跳转到你想要挑战的地方了。

如以上代码,我想在这个类中,跳转到println那个位置,只需要按下快捷键:“ctrl +;”,然后输入println,即可定位到目标位置。

上图中,我输入了pri三个字母后,页面提示三个可选项,分别用字母F、J、G标注,这时候只需要按下对应字母,即可快速定位到指定位置,是不是很方便。

11

activate-power-mode

最后,介绍一款程序员很好的在妹子面前装X的插件——activate-power-mode 。

安装了这款插件之后,你写代码的时候,就会附加一些狂拽炫酷屌炸天的效果:

6

总结

本文一共介绍了11款可以提升程序员开发效率、提升代码质量、提升编码心情的软件。欢迎大家安装尝试一下。

热门内容:
史上最全的数据库面试题,不看后悔篇!解锁新姿势:探讨复杂的 if-else 语句“优雅处理”的思路
HttpClient连接池设置引发的一次雪崩
SpringBoot 整合 Shiro 实现动态权限加载更新+ Session 共享 + 单点登录老弟,你连HTTPS 原理都不懂,还给我讲“中间人攻击”,逗我吗...Mybatis:颠覆你心中对事务的理解最近面试BAT,整理一份面试资料《Java面试BAT通关手册》,覆盖了Java核心技术、JVM、Java并发、SSM、微服务、数据库、数据结构等等。
获取方式:点“在看”,关注公众号并回复 666 领取,更多内容陆续奉上。
明天见(。・ω・。)ノ♡

http://www.taodudu.cc/news/show-122910.html

相关文章:

  • 枚举很好用啊,为啥阿里不建议返回值用枚举?
  • 阿里规范不建议多表join,可这SQL要怎么写啊?
  • 如何优雅地根治null值引起的Bug!
  • 定时任务方案大百科
  • 看 Netty 在 Dubbo 中如何应用
  • 分享:给入职新人的IDEA培训教程。
  • 碰到Maven依赖冲突,想砸电脑?这个IDEA插件必须了解一下...
  • 收藏:因为有这篇Sublime Text使用教程,我立即卸载掉了Notepad+...
  • 写一手好 SQL 很有必要
  • Mybatis 使用的 9 种设计模式,真是太有用了
  • 面试官问:你来讲下Netty通信中的粘包、拆包?
  • 一条简单的更新语句,MySQL是如何加锁的?
  • 这次终于不再为 iptables 犯迷糊了!
  • SpringBoot+RabbitMQ ,保证消息100%投递成功并被消费(附源码)
  • 优秀的代码都是如何分层的?
  • 为什么微服务一定要有网关?
  • (附表设计)不是我吹!超级全面的权限系统设计方案面世了
  • 全面了解 Nginx 主要应用场景
  • 昨天你用的 YYYY-MM-dd 被捶了吗?
  • 这谁顶得住?mybatis十八连环问!
  • 你还在new对象吗?Java8通用Builder了解一下?
  • SpringBoot实现通用的接口参数校验
  • 4 种数据库缓存最终一致性的优缺点对比?最终选择方案四!
  • Google 开源的依赖注入库,比 Spring 更小更快!
  • Github 标星 11.5K!这可能是最好的 Java 博客系统
  • SpringBoot 注解方式快速整合Mybatis
  • 你向 Mysql 数据库插入 100w 条数据用了多久?
  • 本月Github热门开源项目排行榜...
  • 惊:FastThreadLocal吞吐量居然是ThreadLocal的3倍!!!
  • MySQL:教你学会如何做性能分析与查询优化

IntelliJ IDEA 18 周岁,吐血推进珍藏已久的必装插件相关推荐

  1. 安利7款珍藏已久的windows软件,每一个都非常强大

    给大家精心分享7款我珍藏已久windows软件,直接上干货! 1.智办事(全平台) 智办事是一款基于阿里工作方法论的目标管理协作软件,可以提升团队效率,敏捷管理,降低管理成本,打造超强的个人和团队执行 ...

  2. idea shell 中的函数 跳转_6 个珍藏已久 IDEA 小技巧,这一波全部分享给你!

    每周趣图 产品经理设计体验/用户实际体验 本周就不写技术分析文章了,分享几个珍藏已久的 IDEA 的「骚技巧」,助你快速完成代码. 还等什么?赶紧上车吧...... 前进/后退 我们使用浏览器的过程, ...

  3. 程序员必备利器:8 款“珍藏已久”的程序开发利器,瞬间提升效率

    上班摸鱼,感觉今天的天气适合做好物分享,所以,就来给大家介绍8款我珍藏已久的开发者利器!记得点个收藏哟~ FocusFox 互联网是一个令人分心的地方,每天,我们会访问,接触各种各样的网站. 当你想把 ...

  4. 珍藏已久的三款国产优质软件,让你的电脑好用数倍不止

    很多人,对国产软件还是存在偏见的吧. 提起国产软件,我们的固有印象便是弹窗.全家桶之流,不仅惹人生厌,还拖慢电脑的运行速度,用一个词来形容,那叫--举步维艰! 不过,我想说的是,也并不是所有的国产软件 ...

  5. 今天我给大家分享几款珍藏已久的指标公式,都是简单好用的指标

    今天我给大家分享几款珍藏已久的指标公式,都是简单好用的指标文华财经--指标合集 1[决战]主图指标用过的都说好,可以比较明显的抓住涨跌 2[捉牛]主图指标游资大佬李先生呕心沥血之作,信号稳定不漂移,牛 ...

  6. 送你三个珍藏已久的网页,一份迟到的情人节祝福

    今天是庚子年正月二十一,公历 2020 年 2 月 14 日,一个没有什么特殊意义的日子.好吧,我不欺骗自己了,今天是情人节,虽然没有情人,但是节还是要过的,就在这里送大家我珍藏已久的三个表白页面吧, ...

  7. 6个珍藏已久的黑科技网站,都是你梦寐以求的

    说到网站,大家记住的有几个了?又有几个用的是称心如意的了?若是没有,那就放心手中的事,看看这几个小编珍藏已久的黑科技网站,说不说会有你喜欢的哦! 今天将6个珍藏已久的黑科技网站,都是你梦寐以求的资源, ...

  8. IntelliJ IDEA必装插件以及SpringBoot使用小技巧合集

    idea IntelliJ IDEA必装插件 有不知道怎么安装的吗?File-->settings打开设置面板,找到plugins,输入想要安装的插件回车即可 plugins面板 1.背景图片 ...

  9. 老师傅珍藏已久的4个APP,让你大开眼界,值得收藏

    每个人手机中都有自己喜欢的APP,并且是经常使用的.但是对于手机中没有好用APP的小伙伴,如何才能找到适合自己的APP呢!下面就为大家介绍几个珍藏依已久的APP. 一席 一款专注于精品演讲的APP,对 ...

最新文章

  1. 【深度学习入门到精通系列】卷积和池化计算详解
  2. 配置环境将win32项目移植到Android
  3. mac使用被动ftp模式(pasv)_网络安全工程师与白帽子黑客教你:Kali Linux之使用Metasploit进行FTP服务扫描实战...
  4. python将list写入文件_Python:将 list 写入一个 txt 文件
  5. centos7 编译安装mysql-5.7.18
  6. python能做什么工作-学完Python我们可以做什么工作?
  7. 计算机在线考试报名系统软件,全国计算机软考报名官网
  8. 智能控制在计算机领域的应用,智能控制的主要应用领域
  9. umijs 隐藏开发工具_Umi UI 插件开发 - UmiJS 中文文档
  10. POJ 1080 Gene
  11. 【每日一题】一起冲击蓝桥杯吧——Day6【蓝桥真题一起练】
  12. 用python爬虫写一个属于自己的彩虹屁生成器!
  13. idea2019.2版本gradle 使用offline
  14. 数据传输加密技术分析
  15. 通过top查看程序cpu使用率为什么会超过100%
  16. 白马非马的面向对象分析
  17. python matplotlib绘制几何图形
  18. 机器学习在重度抑郁症患者中的应用:从分类到治疗结果预测
  19. 关于小学生学习编程语言C++的经历经验分享,五问五答
  20. 关于七牛云CDN服务器存储的图片在部分网络下无法访问的问题

热门文章

  1. shiro实战系列(一)之入门实战
  2. 程序员的自我救赎---13.1:职场招聘与面试心得
  3. Excel向数据库插入数据和数据库向Excel导出数据
  4. think in Java 第五章之垃圾回收类型
  5. appium IOS真机测试
  6. 关于安卓版的eclipse连接数据库并誓言增删改查
  7. Oracle Mutex 机制 说明
  8. 中国电子学会图形化四级编程题:食堂取餐
  9. 技术图文:进一步完善自动化交易系统 - 02
  10. 【UVA】11991 Easy Problem from Rujia Liu? (整数v第k次出现在什么位置)