一、前言

今年Idea对盗版软件打击力度加大,朋友们会发现,旗舰版自己激活使用,过几天就会失效,需要重新激活,有的小伙伴就会选择去淘宝花钱买个教育邮箱注册,这个方法我使用过,过了两三个月就不能用了,着实让人头疼。
如何解决呢?我想到了Idea社区版本,下载一个使用,将我的Spring boot项目导入,启动下试试,不出所料,报错了。
好啦!步入正题。

社区版Idea相比旗舰版少了很多功能,包括Java开发最重要的Web开发能力!Spring项目没有Tomcat插件,不能在Idea启动。Spring Boot项目没有相应提示。

可是这难不倒强大的社区,我想到了Idea提供了插件机制,或许会有大神做出来了好用的Tomcat插件。

二、IDEA 插件安装

在使用插件之前,你需要了解 IDEA 的插件安装方式,安装 IDEA 插件是非常方便的,你只要知道插件的名字就可以直接安装, IDEA 插件安装有两种方式:

1、在线安装

在 IDEA 中选择:File —> Settings —> Plugins

你可以直接在开发工具输入插件的名字搜索安装,例如安装Lombok插件:

2、离线安装

进入 IDEA 下载插件官网:https://plugins.jetbrains.com,输入插件的名字搜索,下载插件对应 IDEA 版本的插件包

在 IDEA 中选择:File —> Settings —> Plugins —> Install plugin from disk —> 选择下载好的插件包进行安装

TIP: 安装完成之后,重启 IDEA 就行了。本文使用的 IDEA 版本为2020.1,IDEA 使用最新版本的话,可能对应的第三方插件的版本没跟上导致不能使用。熟悉完插件安装方式之后,接下来将介绍近二十余款常用的 IDEA 插件

三、插件

核心插件 Smart TomcatSpring Assistant 解决社区版本不具备Web开发能力,再辅助常用的第三方查询让社区版赋予不输于旗舰版用户体验。

1、Smart Tomcat

这是针对Tomcat服务器的插件。SmartTomcat将从项目和模块中自动加载Webapp类和库,您无需将类和库复制到WEB-INF/classes和WEB-INF/lib。
Smart Tomcat插件将自动配置tomcat服务器的类路径。

2、Spring Assistant

Spring Assistant-IntelliJ插件,可帮助您开发Spring应用程序。到目前为止,此插件提供以下功能。

  • yaml基于Spring Boot的自动配置jar的文件中配置属性的自动完成位于类路径中
  • yaml如果您的类的配置正确@ConfigurationProperties,则自动完成文件中的配置属性
  • 还支持短格式搜索和元素深层搜索。即,sp.d将显示给您spring.data,spring.datasource也port将显示server.port为建议
  • 组和属性的快速文档(并非所有组和属性都具有文档,取决于原始作者是否为任何给定元素指定了文档)
  • 允许您使用File -> New -> Project -> Spring Assistant&File -> New -> Module -> Spring Assistant向导引导新项目和新模块。外观和感觉类似于Intellij Ultimate

3、Database Navigator

数据库开发、脚本编写和导航工具

该产品为IntelliJ IDEA开发环境和相关产品增加了广泛的数据库开发和维护功能。它提供了高级数据库连接管理、脚本执行支持、数据库对象浏览、数据和代码编辑器、数据库编译器操作支持、方法执行和调试支持、数据库对象工厂以及所有组件之间的各种导航功能。

支持的数据库:

  • Oracle
  • MySQL
  • SQLite
  • PostgreSQL
  • Any JDBC compliant database (EXPERIMENTAL)

4、Chinese (Simplified) LanguagePack EAP

中文版的支持需要借助 jetbrains 官方提供的 chinese (simplified) language pack eap 插件。

5、Codota

Codota 这个插件用于智能代码补全,它基于数百万Java程序,能够根据程序上下文提示补全代码。相比于IDEA自带的智能提示来说,Codota 的提示更加全面一些,如下图所示。

我们创建线程池现在变成下面这样:

上面只是为了演示这个插件的强大,实际上创建线程池不推荐使用这种方式, 推荐使用 ThreadPoolExecutor 构造函数创建线程池。阿里巴巴的插件-Alibaba Java Code Guidelines 就检测出来了这个问题,所以,Executors下面用波浪线标记了出来。

除了,在写代码的时候智能提示之外。你还可以直接选中代码然后搜索相关代码示例。

Codota 还有一个在线网站,在这个网站上你可以根据代码关键字搜索相关代码示例,非常不错!我在工作中经常会用到,说实话确实给我带来了很大便利。网站地址:https://www.codota.com/code ,比如我们搜索 Files.readAllLines相关的代码,搜索出来的结果如下图所示:

Codota 插件的基础功能都是免费的。你的代码也不会被泄露,这点你不用担心。

6、Rainbow Brackets

如果代码没有被格式化的话,阅读起来很痛苦,就算被格式化了,几千行代码,各种if嵌套,阅读起来连个结尾括号都找不到(如果你说你会折叠,当我没说),也是很痛苦的,此时这个插件就能忙上很大的忙,能帮你快速定位到代码块中的上下文,突出显示,彩虹括号。

使用:

1、Ctrl+右键单击,高亮显示所选代码块

2、Alt+右键单击,其他全部为灰色,突出显示选中代码块

更多使用可以参考 github 地址:https://github.com/izhangzhihao/intellij-rainbow-brackets

7、Maven Helper

查看和管理maven依赖的插件,可以展示pom.xml文件中的依赖以列表或树的形式,该插件可以很直观的帮你分析和排除冲突依赖

8、RestfulTool

一套 Restful 服务开发辅助工具集。

  • 提供了一个 Services tree 的显示窗口
  • 点击 URL 直接跳转到对应的方法定义
  • 一个简单的 http 请求工具
  • 支持 Spring 体系 (Spring MVC / Spring Boot)
  • 支持 JAX-RS
  • 支持 Navigate->RequestService 搜索 Mapping (Ctrl + Alt + /)

TIP: RestfulToolkit 插件与 RestfulTool 插件功能类似,只是 RestfulToolkit 在 IDEA 2020.1 以后作者未更新,不能使用了,但是在 IDEA 2019.3.5可以使用,在 IDEA 2020.1 版本以后可以装 RestfulTool 插件,且该插件只支持 IDEA 2020.1+ 。

9、GenerateAllSetter

一款效率插件,它主要提供以下功能:

  • 通过alt+enter对变量类生成对类的所有setter方法的调用
  • 当两个对象具有相同的字段时生成一个转换器
  • 当返回类型为List Set Map时生成默认值
  • 在所有getter方法上生成对assertThat的调用

10、Translation

一款翻译插件,再也不用切换窗口到浏览器或翻译软件中搜索了,也可以通过 TranslateandReplace 汉字翻译为驼峰命名的英语,在定义方法名或属性变量时很方便。

11、SequenceDiagram

SequenceDiagram 插件可以根据代码调用链路自动生成时序图,这对梳理工作中的业务代码有很大的帮助,堪称神器,暴赞!

TIP:双击顶部的类名可以跳转到对应类的源码中,双击调用的方法名可以直接跳入指定方法的源码中

12、Mybatis Plugin 相关插件

12.1、Free Mybatis plugin

IDEA 默认不能直接从代码跳转到映射器,该插件是一款增强 IDEA 对 mybatis 支持的插件,主要功能如下:

  • 生成mapper xml文件
  • 快速从代码跳转到mapper及从mapper返回代码
  • mybatis自动补全及语法错误提示
  • 集成mybatis generator gui界面

注:可以选备用插件MybatisX,功能类似,也可以选择更强大EasyCode,支持代码跳转,并且支持代码生成

12.2、MybatisX

MybatisX 是一款基于 IDEA 的快速开发插件,为效率而生,支持Java 与 XML 调回跳转和Mapper 方法自动生成 XML。

安装方法:打开 IDEA,进入 File -> Settings -> Plugins -> Browse Repositories,输入 mybatisx 搜索并安装。

12.3、Mybatis Log

将SQL语句操作日志转换为可执行SQL语句。默认键:ctrl + Shift + H

12.4、Mybatis Log Plugin

该插为收费版,试用版为30天,该插件主要功能:

  • 该插件可以还原MyBatis输出的日志为完整的SQL语句
  • 把SQL日志里面的?替换为真正的参数值
  • 选中要还原的MyBatis日志,右键点击菜单Restore Sql,还原SQL语句
  • Java接口方法与Mapper xml文件互相跳转

安装完插件之后,重启可以点击试用:

演示:

可以看到 MyBatis 打印的日志SQL被自动的格式化成可执行的SQL了,如果业务中打印的SQL很多影响你查看,你也可以选择手动格式化指定SQL

13、Json 相关插件

13.1、Json Helper

该插件提供了一个易于使用的工具窗口,可以直接在您的IDE中执行JSON字符串操作,不用再打开网站格式化JSON啦,该插件提供了如下功能:

  • 美化您的丑陋json
  • 丑化你漂亮的json
  • 转义你的json
  • 解除转义json
  • 支持JMES json路径搜索。请参阅此处的示例:https://jmespath.org/
  • 对变量声明解析的实验支持。例如public final String json = “{“key”:“value”}”;变成原始的美化json
  • Json检查允许嵌套json。也适用于JSON临时文件

13.2、POJO to JSON

POJO转换为JSON的简单插件,源码地址:https://github.com/linsage/java2json

13.3、FlutterJsonBeanFactory

FlutterJsonBeanFactory是用来生成dart的json实体类和根据配置生成factory的idea全家桶的插件。

使用说明

  1. 项目目录右键new,会有个dart bean class file from json,点击这个选项

  1. 弹出一个输入类名和和json串的弹框,例:填入类型abc和json串

详细参考:https://www.jianshu.com/p/14cbcbaa74b7

注:JSON To Kotlin Class (JsonToKotlinClass) 为Json转类的备用选择

14、Code Review Plug

代码错误、漏洞、规范、约束等功能插件汇总

14.1、Alibaba Java Coding Guidelines

阿里巴巴代码规范约束插件,对代码规范等很有帮助,可以养成良好的代码规范,编程风格

扫描整个项目:

扫描代码后,将不符合规约的代码按 Blocker(崩溃)、Critical(严重)/Major(重要) 三个等级显示在下方,双击可以定位至代码处,右侧窗口还有针对代码的批量修复功能。

如果觉得扫描整个项目太浪费时间且影响性可以能扫描单个文件:

TIP:阿里编码规约扫描,默认是开启实时监测的,此功能可能会引起 IDEA 卡顿,可以点击 关闭实时检测功能 将其关闭,在编码完成后再主动扫描文件。

14.2、SonarLint

SonarLint 是一个免费的IDE扩展,允许您在编写代码时修复错误和漏洞!与拼写检查器一样,SonarLint会动态地突出显示代码问题,并提供明确的修复指导,以便在代码提交之前修复这些问题。在流行的IDEs(Eclipse, IntelliJ, Visual Studio, VS Code)和流行的编程语言,SonarLint 帮助所有开发人员编写更好、更安全的代码!

区别:

这两款插件的侧重点不同:

  • AlibabaJavaCodingGuidelines 插件比较关心的是代码规范,编码风格上的,例如,命名规范,注释,代码行数等
  • SonarLint 插件比较关心代码正确性,存在的问题,风险,漏洞等,例如,重复代码,空指针,安全漏洞等

使用 AlibabaJavaCodingGuidelines 插件来规范代码,使用 SonarLint 来提前发现代码问题,配合起来提高工程整体的代码质量,并且能够在编码阶段规避风险,提高程序的健壮性。

14.3、CheckStyle

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

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

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

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

15、Statistic

项目信息统计插件,有了这个插件之后你可以非常直观地看到你的项目中所有类型的文件的信息比如数量、大小等等,可以帮助你更好地了解你们的项目。

你还可以使用它看所有类的总行数、有效代码行数、注释行数、以及有效代码比重等等这些东西。

16、CamelCase

多种命名格式之间切换插件,非常有用!这个插件可以实现包含6种常见命名格式之间的切换。并且,你还可以对转换格式进行相关配置(转换格式),如下图所示:

有了这个插件之后,你只需要使用快捷键 shift+option+u(mac) / shift+alt+u 对准你要修改的变量或者方法名字,就能实现在多种格式之间切换了,如下图所示:

如果你突然忘记快捷键的话,可以直接在IDEA的菜单栏的 Edit 部分找到。

使用这个插件对开发效率提升高吗?拿我之前项目组的情况举个例子:

我之前有一个项目组的测试名字是驼峰这种形式:ShouldReturnTicketWhenRobotSaveBagGiven1LockersWith2FreeSpace 。但是,使用驼峰形式命名测试方法的名字不太明显,一般建议用下划线_的形式:should_return_ticket_when_robot_save_bag_given_1_lockers_with_2_free_space

如果我们不用这个插件,而是手动去一个一个改的话,工作量想必会很大,而且正确率也会因为手工的原因降低。

注:大小写转换,排序,过滤,增量,对齐,打号,转义,编码插件更推荐《String Manipulation》

17、Key Promoter X:快捷键

相信我!这一定是IDEA必备的一个插件。它的功能主要是在一些你本可以使用快捷键操作的地方提醒你用快捷键操作。 比如我直接点击tab栏下的菜单打开 Version Control(版本控制) 的话,这个插件就会提示我说你可以用快捷键 command+9或者shift+command+9打开,如下图所示:

除了这个很棒的功能之外,它还有一个功能我觉得非常棒,那就是展示出哪些快捷键你使用的次数最多!超级赞!!!

Guide哥:快捷键真的很重要!入职之后,每次看着同事们花里胡哨的快捷键操作,咔咔咔很快就完成了某个操作,我才深深意识到它的重要性。不夸张的说,你用IDEA开发,常用的快捷键不熟悉的话,效率至少降低 30%。

小伙,你使用快捷键进行操作的时候,是帅啊!但是,你给别人演示的时候,别人可能根本不知道你进行了什么快捷键操作。这个时候 Presentation Assistant 这个插件就站出来了!

18、Lombok:帮你简化代码

Lombok这个插件很有争议,喜欢便捷编码的人非常推荐,考虑架构升级代码规范对它嗤之以鼻,非常不推荐。不过今天在这推荐方便给大家一个初步的了解。

如果你要使用 Lombok 的话,不光是要安装这个插件,你的项目也要引入相关的依赖。

<dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId><optional>true</optional>
</dependency>

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

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

关于Lombok使用的争议,可以查看这篇文章:《为什么要放弃 Lombok ?》

19、Alibaba Cloud Toolkit

自动化部署神器

如果你正在开发项目使用的是springboot或者spring cloud微服务框架,那么必然会有一个头疼的问题,就是项目jar包部署,前期可能不会使用到Jenkins或者Docker这么庞大的东东,可能给你一个服务器,配一个jdk环境,往上一丢就完事了,但是时间长了,服务越来越多就会很烦了。

于是阿里巴巴团队推出这个插件,为了解决这类部署相关的问题,堪称自动化部署的神器,具体使用这里不做赘述,可以去官网学习一下。

官网地址:https://www.aliyun.com/product/cloudtoolkit

20、stackoverflow

程序员知乎,问题搜索插件

评委点评:这一看似平淡的右键stackoverflow,却把其中的闷骚体现的淋漓尽致:我就这么叼,我就不去浏览器里查,只有右键才和我的右手匹配。

21、Grep Console

在启动应用时或调试时,IDEA 控制台输出一大堆日志,想要快速找到自己需要类型的日志是很麻烦的,此时使用此插件可以快速定位到自己想要的类型日志,比如 TRACE 、 DEBUG 等,也可以单独打开标签页显示自己需要的日志,日志分类也可以配置自己喜欢的颜色。

22、Gradianto

Gradianto 夜间主题插件,它里面的配色都很棒,对眼睛比较友好。很明显的感觉眼睛肌肉放松了。代码配色看着也不突兀。

IntelliJ IDEA Community Edition 社区版插件汇总相关推荐

  1. Windows平台搭建Spark开发环境(Intellij idea 2020.1社区版+Maven 3.6.3+Scala 2.11.8)

    在开始之前,需要说明的是 要跑通基本的wordcount程序,是不需要在windows上安装 hadoop 和spark的,因为idea在跑程序的时候,会按照 pom.xml配置文件,从指定的 rep ...

  2. IDEA 社区版插件(个人)

    IDEA 社区版插件(个人) deepin V20 maven Helper 用于解决maven依赖冲突 MyBatisX Mybatis,MybatisPlus快速定位mapper Spring A ...

  3. Keil5 MDK(MDK-Community edition)社区版安装教程

    2022年3月,Keil官方推送了一个MDK新版本:Keil5社区版 MDK(MDK-Community edition),该版本完全免费,没有代码大小限制,可供电子爱好者.学生等群体非商业免费评估和 ...

  4. GitLab企业版和社区版的功能对比

    http://www.shcsinfo.com/china/git_features.html#compare GITLAB社区版 功能丰富: 包括Git仓库管理.代码审查.问题跟踪.动态订阅.wik ...

  5. Intellij IDEA社区版集成Maven插件

    Intellij IDEA社区版集成Maven插件 第一步: 打开Intellij IDEA , Preference -> Plugins , 搜索 Maven Intergration和Ma ...

  6. IntelliJ IDEA社区版安装spring插件

    IntelliJ IDEA社区版安装spring插件 IntelliJ IDEA商业版比社区版的功能强大,支持的开发语言.框架.技术工具等更全面.Version 2021.2.*以后版本的社区版不提供 ...

  7. IntelliJ IDEA 2021 社区版使用指南

    时间过得真快,转眼就到了2021年,新版与旧版有了一些不同,特别为您整理了最新的调优方式和插件列表. 0.写在前面   IntelliJ IDEA 社区版可以商用,在官网中我们能看到如下的声明:    ...

  8. IntelliJ IDEA Community 社区版配置 Web 开发环境(Gradle + Tomcat)

    IntelliJ IDEA 是很好的 IDE, 但是免费的社区版不直接支持开发 Web 项目.所以需要自己配置. 网上大多是教程都是用 Maven 和 jetty 来配置.我刚学 JAVA.因此直接从 ...

  9. Intellij IDEA社区版中的SpringBoot入门

    我们可以使用Intellij IDEA社区版来处理SpringBoot应用程序,因为我们不需要配置Tomcat,Wildlfy等服务器,只需运行main()方法即可运行应用程序. 但是,Intelli ...

  10. Intellij IDEA 社区版集成 Database Navigator 数据库管理工具

    Intellij IDEA 社区版集成 DB Navigator数据库管理工具 第一步:打开IDEA, Intellij IDEA -> Preferences -> Plugins 第二 ...

最新文章

  1. [2008.06.10 23:20:00] 心智成熟的旅程
  2. Mac上小巧实用的GIF格式录屏软件 LICEcap
  3. 惠新宸php教程_惠新宸:首位国人加入PHP语言官方开发组
  4. webgl限制帧率_从《长安十二时辰》到《Science Advances》:大帧数高帧率超表面动态全息显示新方法...
  5. java jbutton 不显示_java – JButton中的图像未显示
  6. Reading privileged memory with a side-channel
  7. Jackson,Gson,Fastjson比较
  8. 关于线程轮流打印0-99
  9. postgre sql安装时忘记之前密码时如何处理。
  10. gThumb 3.1.2 发布,支持 WebP 图像
  11. PHP 工厂模式浅析
  12. 汽车底盘线控与动力学域控制技术
  13. RPC规范接口实现模块Flask-JSONRPC
  14. Oracle怎么清除视图数据,Oracle删除视图
  15. 签名格式_职场商务电子邮件礼仪
  16. Linux 下 JbossEAP 6.2安装与实例部署
  17. Unity编辑器小工具——文件查重(MD5)
  18. 人脸检测和行人检测2:YOLOv5实现人脸检测和行人检测(含数据集和训练代码)
  19. web自动化之元素定位手段工具
  20. 遥感IDL二次开发(辐射定标)

热门文章

  1. 如何启用sqlplus的AutoTrace功能
  2. Java方法重载解析
  3. 用Markdown记笔记后转换成html
  4. FIR/IIR滤波器?
  5. Qt Q_ENUM使用 枚举字符串互转
  6. 方法一 NTC热敏电阻转换温度的计算方式(分段法)
  7. Nvidia搞笑Intel:CPU vs GPU
  8. 没有任何基础学编程从哪开始_学plc编程先学什么?零基础自学plc编程怎么入门?有没有好...
  9. vue组件基础知识及组件间通讯
  10. Android ROM制作教程,让你拥有自己喜欢的ROM