今年Idea对盗版软件打击力度加大,朋友们会发现,旗舰版自己激活使用,过几天就会失效,需要重新激活,有的小伙伴就会选择去淘宝花钱买个教育邮箱注册,这个方法我使用过,过了两三个月就不能用了,着实让人头疼。
如何解决呢?我想到了Idea社区版本,下载一个使用,将我的Spring boot项目导入,启动下试试,不出所料,报错了。
好啦!步入正题。
社区版Idea相比旗舰版少了很多功能,包括Java开发最重要的Web开发能力!Spring项目没有Tomcat插件,不能在Idea启动。Spring Boot项目没有相应提示。
可是这难不倒强大的社区,我想到了Idea提供了插件机制,或许会有大神做出来了好用的Tomcat插件。
在使用插件之前,你需要了解 IDEA 的插件安装方式,安装 IDEA 插件是非常方便的,你只要知道插件的名字就可以直接安装, IDEA 插件安装有两种方式:
在 IDEA 中选择:File —> Settings —> Plugins
你可以直接在开发工具输入插件的名字搜索安装,例如安装Lombok插件:
进入 IDEA 下载插件官网:https://plugins.jetbrains.com,输入插件的名字搜索,下载插件对应 IDEA 版本的插件包
在 IDEA 中选择:File —> Settings —> Plugins —> Install plugin from disk —> 选择下载好的插件包进行安装
TIP: 安装完成之后,重启 IDEA 就行了。本文使用的 IDEA 版本为2020.1,IDEA 使用最新版本的话,可能对应的第三方插件的版本没跟上导致不能使用。熟悉完插件安装方式之后,接下来将介绍近二十余款常用的 IDEA 插件
核心插件 Smart Tomcat
和 Spring Assistant
解决社区版本不具备Web开发能力,再辅助常用的第三方查询让社区版赋予不输于旗舰版用户体验。
这是针对Tomcat服务器的插件。SmartTomcat将从项目和模块中自动加载Webapp类和库,您无需将类和库复制到WEB-INF/classes和WEB-INF/lib。
Smart Tomcat插件将自动配置tomcat服务器的类路径。
Spring Assistant-IntelliJ插件,可帮助您开发Spring应用程序。到目前为止,此插件提供以下功能。
数据库开发、脚本编写和导航工具
该产品为IntelliJ IDEA开发环境和相关产品增加了广泛的数据库开发和维护功能。它提供了高级数据库连接管理、脚本执行支持、数据库对象浏览、数据和代码编辑器、数据库编译器操作支持、方法执行和调试支持、数据库对象工厂以及所有组件之间的各种导航功能。
支持的数据库:
中文版的支持需要借助 jetbrains 官方提供的 chinese (simplified) language pack eap 插件。
Codota 这个插件用于智能代码补全,它基于数百万Java程序,能够根据程序上下文提示补全代码。相比于IDEA自带的智能提示来说,Codota 的提示更加全面一些,如下图所示。
我们创建线程池现在变成下面这样:
上面只是为了演示这个插件的强大,实际上创建线程池不推荐使用这种方式, 推荐使用 ThreadPoolExecutor
构造函数创建线程池。阿里巴巴的插件-Alibaba Java Code Guidelines 就检测出来了这个问题,所以,Executors
下面用波浪线标记了出来。
除了,在写代码的时候智能提示之外。你还可以直接选中代码然后搜索相关代码示例。
Codota 还有一个在线网站,在这个网站上你可以根据代码关键字搜索相关代码示例,非常不错!我在工作中经常会用到,说实话确实给我带来了很大便利。网站地址:https://www.codota.com/code ,比如我们搜索 Files.readAllLines
相关的代码,搜索出来的结果如下图所示:
Codota 插件的基础功能都是免费的。你的代码也不会被泄露,这点你不用担心。
如果代码没有被格式化的话,阅读起来很痛苦,就算被格式化了,几千行代码,各种if嵌套,阅读起来连个结尾括号都找不到(如果你说你会折叠,当我没说),也是很痛苦的,此时这个插件就能忙上很大的忙,能帮你快速定位到代码块中的上下文,突出显示,彩虹括号。
使用:
1、Ctrl+右键单击,高亮显示所选代码块
2、Alt+右键单击,其他全部为灰色,突出显示选中代码块
更多使用可以参考 github 地址:https://github.com/izhangzhihao/intellij-rainbow-brackets
查看和管理maven依赖的插件,可以展示pom.xml文件中的依赖以列表或树的形式,该插件可以很直观的帮你分析和排除冲突依赖
一套 Restful 服务开发辅助工具集。
Navigate->RequestService
搜索 Mapping (Ctrl + Alt + /)TIP: RestfulToolkit 插件与 RestfulTool 插件功能类似,只是 RestfulToolkit 在 IDEA 2020.1 以后作者未更新,不能使用了,但是在 IDEA 2019.3.5可以使用,在 IDEA 2020.1 版本以后可以装 RestfulTool 插件,且该插件只支持 IDEA 2020.1+ 。
一款效率插件,它主要提供以下功能:
一款翻译插件,再也不用切换窗口到浏览器或翻译软件中搜索了,也可以通过 TranslateandReplace
汉字翻译为驼峰命名的英语,在定义方法名或属性变量时很方便。
SequenceDiagram 插件可以根据代码调用链路自动生成时序图,这对梳理工作中的业务代码有很大的帮助,堪称神器,暴赞!
TIP:双击顶部的类名可以跳转到对应类的源码中,双击调用的方法名可以直接跳入指定方法的源码中
IDEA 默认不能直接从代码跳转到映射器,该插件是一款增强 IDEA 对 mybatis 支持的插件,主要功能如下:
注:可以选备用插件MybatisX,功能类似,也可以选择更强大EasyCode,支持代码跳转,并且支持代码生成
MybatisX 是一款基于 IDEA 的快速开发插件,为效率而生,支持Java 与 XML 调回跳转和Mapper 方法自动生成 XML。
安装方法:打开 IDEA,进入 File -> Settings -> Plugins -> Browse Repositories,输入 mybatisx
搜索并安装。
将SQL语句操作日志转换为可执行SQL语句。默认键:ctrl + Shift + H。
该插为收费版,试用版为30天,该插件主要功能:
安装完插件之后,重启可以点击试用:
演示:
可以看到 MyBatis 打印的日志SQL被自动的格式化成可执行的SQL了,如果业务中打印的SQL很多影响你查看,你也可以选择手动格式化指定SQL
该插件提供了一个易于使用的工具窗口,可以直接在您的IDE中执行JSON字符串操作,不用再打开网站格式化JSON啦,该插件提供了如下功能:
POJO转换为JSON的简单插件,源码地址:https://github.com/linsage/java2json
FlutterJsonBeanFactory是用来生成dart的json实体类和根据配置生成factory的idea全家桶的插件。
使用说明
详细参考:https://www.jianshu.com/p/14cbcbaa74b7
注:JSON To Kotlin Class (JsonToKotlinClass) 为Json转类的备用选择
代码错误、漏洞、规范、约束等功能插件汇总
阿里巴巴代码规范约束插件,对代码规范等很有帮助,可以养成良好的代码规范,编程风格
扫描整个项目:
扫描代码后,将不符合规约的代码按 Blocker(崩溃)、Critical(严重)/Major(重要) 三个等级显示在下方,双击可以定位至代码处,右侧窗口还有针对代码的批量修复功能。
如果觉得扫描整个项目太浪费时间且影响性可以能扫描单个文件:
TIP:阿里编码规约扫描,默认是开启实时监测的,此功能可能会引起 IDEA 卡顿,可以点击 关闭实时检测功能
将其关闭,在编码完成后再主动扫描文件。
SonarLint 是一个免费的IDE扩展,允许您在编写代码时修复错误和漏洞!与拼写检查器一样,SonarLint会动态地突出显示代码问题,并提供明确的修复指导,以便在代码提交之前修复这些问题。在流行的IDEs(Eclipse, IntelliJ, Visual Studio, VS Code)和流行的编程语言,SonarLint 帮助所有开发人员编写更好、更安全的代码!
区别:
这两款插件的侧重点不同:
AlibabaJavaCodingGuidelines
插件比较关心的是代码规范,编码风格上的,例如,命名规范,注释,代码行数等SonarLint
插件比较关心代码正确性,存在的问题,风险,漏洞等,例如,重复代码,空指针,安全漏洞等使用 AlibabaJavaCodingGuidelines
插件来规范代码,使用 SonarLint
来提前发现代码问题,配合起来提高工程整体的代码质量,并且能够在编码阶段规避风险,提高程序的健壮性。
代码格式检查插件的作用主要是为了规范代码格式比如说项目中一行代码最长是多少、项目中有没有无用的引用等等。非常实用!
一般情况下我们会在项目中配置 CheckStyle,并且自定义规则,然后再配置一个Commit 的 Git 钩子,这样我们在Commit代码的时候就会跑一遍 CheckStyle,看看项目代码的格式有问题不。
这个插件的作用主要是帮助我们定位问题,示例如下:
我们使用一个自定义的规则,然后运行 CheckStyle ,可以看到这个插件就帮我们找到有一个无用的 import。
项目信息统计插件,有了这个插件之后你可以非常直观地看到你的项目中所有类型的文件的信息比如数量、大小等等,可以帮助你更好地了解你们的项目。
你还可以使用它看所有类的总行数、有效代码行数、注释行数、以及有效代码比重等等这些东西。
多种命名格式之间切换插件,非常有用!这个插件可以实现包含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》
相信我!这一定是IDEA必备的一个插件。它的功能主要是在一些你本可以使用快捷键操作的地方提醒你用快捷键操作。 比如我直接点击tab栏下的菜单打开 Version Control(版本控制) 的话,这个插件就会提示我说你可以用快捷键 command+9
或者shift+command+9
打开,如下图所示:
除了这个很棒的功能之外,它还有一个功能我觉得非常棒,那就是展示出哪些快捷键你使用的次数最多!超级赞!!!
Guide哥:快捷键真的很重要!入职之后,每次看着同事们花里胡哨的快捷键操作,咔咔咔很快就完成了某个操作,我才深深意识到它的重要性。不夸张的说,你用IDEA开发,常用的快捷键不熟悉的话,效率至少降低 30%。
小伙,你使用快捷键进行操作的时候,是帅啊!但是,你给别人演示的时候,别人可能根本不知道你进行了什么快捷键操作。这个时候 Presentation Assistant 这个插件就站出来了!
Lombok这个插件很有争议,喜欢便捷编码的人非常推荐,考虑架构升级代码规范对它嗤之以鼻,非常不推荐。不过今天在这推荐方便给大家一个初步的了解。
如果你要使用 Lombok 的话,不光是要安装这个插件,你的项目也要引入相关的依赖。
<dependency>
<groupId>org.projectlombokgroupId>
<artifactId>lombokartifactId>
<optional>trueoptional>
dependency>
使用 Lombok 能够帮助我们少写很多代码比如 Getter/Setter、Constructor等等。
关于Lombok的使用,可以查看这篇文章:《十分钟搞懂Java效率工具Lombok使用与原理》。
关于Lombok使用的争议,可以查看这篇文章:《为什么要放弃 Lombok ?》
自动化部署神器
如果你正在开发项目使用的是springboot或者spring cloud微服务框架,那么必然会有一个头疼的问题,就是项目jar包部署,前期可能不会使用到Jenkins或者Docker这么庞大的东东,可能给你一个服务器,配一个jdk环境,往上一丢就完事了,但是时间长了,服务越来越多就会很烦了。
于是阿里巴巴团队推出这个插件,为了解决这类部署相关的问题,堪称自动化部署的神器,具体使用这里不做赘述,可以去官网学习一下。
官网地址:https://www.aliyun.com/product/cloudtoolkit
程序员知乎,问题搜索插件
评委点评:这一看似平淡的右键stackoverflow,却把其中的闷骚体现的淋漓尽致:我就这么叼,我就不去浏览器里查,只有右键才和我的右手匹配。
在启动应用时或调试时,IDEA 控制台输出一大堆日志,想要快速找到自己需要类型的日志是很麻烦的,此时使用此插件可以快速定位到自己想要的类型日志,比如 TRACE 、 DEBUG 等,也可以单独打开标签页显示自己需要的日志,日志分类也可以配置自己喜欢的颜色。
Gradianto 夜间主题插件,它里面的配色都很棒,对眼睛比较友好。很明显的感觉眼睛肌肉放松了。代码配色看着也不突兀。