工欲善其事,必先利其器。
作为一名合格的程序员,合理配置我们所用的IDEA,是高效开发的必修课。而如今的插件工具也越来越好用,不仅基本具备了智能提示,还可以自动补全代码,甚至能够在查出bug的同时提供修改方案,让我们的日常开发工作变得更加轻松。
1、SonarLint
SonarLint是一个代码质量检测插件,可以基于一些规则对代码IDE中的代码进行即时的检测,目的是在程序员键入代码时提供即时反馈。为此,它着重于要添加或更新的代码。
当我们的代码不规范时,SonarLint都会一一指出。比如,对于日期类型尽量用LocalDate、LocalTime、LocalDateTime,还有重复代码、潜在的空指针异常、循环嵌套等等问题。
与此同时,对于每一个问题,SonarLint都给出了示例,还有相应的解决方案,手把手地教我们如何修改问题,极大的方便了我们的日常开发,也在一定程度上保证了代码质量。
2、FindBugs
FindBugs是一个能静态分析源代码中可能会出现Bug的Eclipse插件工具,运行需要1.7或更高版本的JRE(或JDK),但是它可以分析从任何版本的Java编译的程序,从1.0到1.8。
FindBugs不是通过分析类文件的形式或结构来确定程序的意图,而是通常使用Visitor模式。它检查类或者JAR文件,将字节码与一组缺陷模式进行对比以发现可能的问题。有了静态分析工具,就可以在不实际运行程序的情况对软件进行分析。
但不要以为有了FindBugs就万事大吉了,如果想要编写更稳妥的程序,还需要更多的调试和操作。
3、Maven Helper
Maven是最流行的Java项目构建系统,其项目对象模型(POM)可以通过一小段描述信息来管理项目的构建,报告和文档,是一个软件项目管理工具,也是很好用的依赖管理工具。
但是再好的东西也不是完美的——Maven的依赖机制会导致Jar包的冲突。在大多数时候,依赖冲突可能并不会对系统造成什么异常,因为Maven始终选择了一个Jar包来使用。但是,不排除在某些特定条件下,会出现类似找不到类的异常,所以只要存在依赖冲突,最好还是解决掉,不要给系统留下隐患。
这时我们就用到了MavenHelper,它可以方便的找到和排除冲突的依赖项,还可以run/debug包含当前文件的模块或者根模块,有效解决依赖冲突问题。
4、SequenceDiagram
SequenceDiagram也被称为时序图、顺序图或者序列图,显示的时参与交互的对象及其对象之间消息交互的顺序。这些对象是按时间顺序排列的,其中包括的建模元素主要有:对象(Actor)、生命线(Lifeline)、控制焦点(Focusof control)、消息(Message)等等。
序列图在记录一个未来系统的行为应该如何表现中非常有用,比如在设计阶段,架构师和开发者能使用图来挖掘出系统对象间的交互,这样充实整个系统设计。其主要用途之一,是把用例表达的需求,转化为进一步、更加正式层次的精细表达。
这款插件可以根据代码调用链路自动生成时序图,对于研究源码、梳理工作中的业务代码有极大的帮助,堪称神器。
5、Grep Console
GrepConsole是一款和IDEAConsole相关的插件,可以通过expression表达式过滤日志、给不同级别的日志或者给不同pattern的日志加上背景颜色与上层颜色,就像图片中显示的那样。与此同时,它还具有一些其它特性,比如GrepView、Notifications、Statistics等等。
Intellijidea不支持显示ascii颜色,但GrepConsole插件能很好的解决这个问题。GrepConsole允许开发者定义一系列正则表达式,这些表达式将根据控制台输出进行测试,与一行匹配的每个表达式都将影响整行或其部分的样式。例如,错误消息可以设置为以红色背景显示,或者显示某个变量状态的整数值可以用粗体字体呈现等等。
6、MetricsReloaded
对于阅读代码的人来说,越简单的代码越好理解和维护,如果你的代码阅读起来很费劲,或者你自己过段时间后再来看都看不懂,你就得想办法解决下代码的复杂度问题了,MetricsReloaded能帮助你解决这个问题。
MetricsReloaded是一个十分强大的分析工具,主要分析代码的复杂性,同时也可以统计如包的依赖性、代码的有效行数、方法的有效行数、包的数量、属性的数量等等。
7、Alibaba Java Coding Guidelines
对于java的代码规范,业界有统一的标准,但即便如此,还是有很多java开发者受制于开发经验和开发水平,不一定会有规范代码的意识,而且就算是经验丰富的java开发者也不一定能时刻谨记代码规范。
所以当阿里巴巴基于《阿里巴巴Java开发规约》研发的AlibabaJava CodingGuidelines横空出世时,一经推出便成为了炙手可热的插件。在扫描代码后,它将不符合规约的代码按Blocker/Critical/Major三个等级显示出来,并且大部分可以自动修复。
与此同时,它还基于Inspection机制提供了实时检测功能,编写代码的同时也能快速发现问题所在。
与很多其它流行的同类工具(如FindBugs,Lint等)相比,它更专注于Java代码规范,而且默认采用中文,对于中国本土开发者而言,这无疑是一种福利。
8、Free MyBatis plugin
如果你使用的是IDEA,那么强烈建议你安装一款IDEA插件:FreeMyBatis plugin。
它是一款增强IDEA对mybatis支持的插件,主要功能有:生成mapper.xml文件、快速从代码跳转到mapper及从mapper返回代码、mybatis自动补全及语法错误提示、集成mybatisgenerator gui界面等等。
通过FreeMyBatisplugin,不用使用官方的mybatis逆向生成包,写配置文件等等,仅需连接对应数据库就可以实现逆向生成对应的类、mapper文件等。唯一的缺陷可能就是重新生成的会覆盖之前的代码,但git版本管理可以进行手动控制。
与此同时,FreeMyBatis plugin安装还十分方便,在IDEA里直接搜索就可以啦。
9、RestfulToolkit
RestfulToolkit是IDEA的一个插件,主要作用就是提供一个窗口,该窗口展示你项目定义的所有对外的URL,并且点击对应的URL可以跳入指定方法,同时提供接口测 试功能。
现在项目工程量都很大,一般是多人协同处理一个项目,有可能接口出现了问题需要调整或者进行二次开发,即便是有相应的接口文档,去查询具体的方法体时,最便捷的也就是IDEA的全局搜索。
但如果有相同的名称可能会看的眼花缭乱,不够方便。这时这样一个树状结构的窗口就显的尤为便捷,不用的时候还可以隐藏起来,深藏功与名。
如下图所示:点击蓝色框的“RestServices”(安装完成之后才会有),显示红色部分窗口,列出了当前项目的所有URL。P和G代表了接口请求方式是“Get”还是“Post”,下面的“RequestParams”是根据方法的参数生成的测试数据,点击“Send”即可测试。
10、CamelCase
在我们的日常开发工作中,熟练掌握各种工具的使用,可以大大的节省开发效率。CamelCasePlugin就是一款插件,它可以快速进行格式转换的工具,较常用到的是大小写转换、驼峰式转换等,效果如下图所示。
Ctrl+Alt+S快速进入设置界面,选择Plugins,进入插件市场搜索CamelCase即可下载,非常方便。
写在最后
以上就是JavaIDE插件推荐的全部干货内容啦,在接下来的日子里,小渡还会持续为大家输出更多实用的编程工具和编程技巧。