推荐4款我的珍藏的IDEA插件!帮你写出不那么差的代码

@[toc]html

目前的话,我(Guide哥)是在 Github 开源了两个轮子,一个简易的 RPC 框架,一个轻量级的 HTTP 框架。代码结构清晰,实现优雅(这个自诩就很不要脸),感兴趣的小伙伴能够看一下。前端

在写代码的时候,有几个 IDEA 插件对于我规范代码以及更高效地完成编码工做有奇效。java

那今天就简单聊聊我平时写代码过程当中,有哪些 IDEA 插件对我帮助最大吧!git

Codota:代码智能提示

我一直在用的一个插件,能够说很是好用了(我身边的不少大佬平时写代码也会用这个插件)。程序员

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

若是你以为 IDEA 插件安装的太多比较卡顿的话,不用担忧!Codota 插件还有一个对应的在线网站(https://www.codota.com/code),在这个网站上你能够根据代码关键字搜索相关代码示例,很是不错!面试

我在工做中常常会用到,说实话确实给我带来了很大便利,好比咱们搜索 Files.readAllLines相关的代码,搜索出来的结果以下图所示:spring

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

简单来看看 Codota 插件的骚操做吧!后端

代码智能补全

咱们使用HttpUrlConnection 创建一个网络链接是真的样的:

咱们建立线程池如今变成下面这样:

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

代码智能搜索

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

Alibaba Java Code Guidelines:阿里巴巴 Java 代码规范

阿里巴巴 Java 代码规范,对应的Github地址为:https://github.com/alibaba/p3c 。很是推荐安装!

安装完成以后建议将与语言替换成中文,提示更加友好一点。

根据官方描述:

目前这个插件实现了开发手册中的的53条规则,大部分基于PMD实现,其中有4条规则基于IDEA实现,而且基于IDEA Inspection实现了实时检测功能。部分规则实现了Quick Fix功能,对于能够提供Quick Fix但没有提供的,咱们会尽快实现,也欢迎有兴趣的同窗加入进来一块儿努力。 目前插件检测有两种模式:实时检测、手动触发。

上述提到的开发手册也就是在Java开发领域赫赫有名的《阿里巴巴Java开发手册》。

手动配置检测规则

你还能够手动配置相关 inspection规则:

使用效果

这个插件会实时检测出咱们的代码不匹配它的规则的地方,而且会给出修改建议。好比咱们按照下面的方式去建立线程池的话,这个插件就会帮咱们检测出来,以下图所示。

这个能够对应上 《阿里巴巴Java开发手册》 这本书关于建立线程池的方式说明。

CheckStyle: Java代码格式规范。

为什么须要CheckStyle插件?

CheckStyle 几乎是 Java 项目开发必备的一个插件了,它会帮助咱们检查 Java 代码的格式是否有问题好比变量命名格式是否有问题、某一行代码的长度是否过长等等。

在项目上,经过项目开发人员自我约束来规范代码格式必然是不靠谱的! 所以,咱们很是须要这样一款工具来帮助咱们规范代码格式。

若是你看过我写的轮子的话,能够发现我为每个项目都集成了 CheckStyle,而且设置了 Git Commit 钩子,保证在提交代码以前代码格式没有问题。

Guide哥造的轮子代码简洁,结构清晰,欢迎学习,欢迎一块儿完善):

  1. guide-rpc-framework :A custom RPC framework implemented by Netty+Kyro+Zookeeper.(一款基于 Netty+Kyro+Zookeeper 实现的自定义 RPC 框架-附详细实现过程和相关教程)
  2. jsoncat :仿 Spring Boot 但不一样于 Spring Boot 的一个轻量级的 HTTP 框架

Git 钩子: Git 能在特定的重要动做好比commit、push发生时触发自定义脚本。 钩子都被存储在 Git 目录下的 hooks 子目录中。 也即绝大部分项目中的 .git/hooks

如何在Maven/Gradle项目中集成 Checksytle?

通常状况下,咱们都是将其集成在项目中,并设置相应的 Git 钩子。网上有相应的介绍文章,这里就很少提了。

若是你以为网上的文章不直观的话,能够参考我上面提到了两个轮子:

  1. guide-rpc-framework :Maven项目集成 Checksytle。
  2. jsoncat :Gradle项目集成 Checksytle。

若是你在项目中集成了 Checksytle 的话,每次检测会生成一个 HTML格式的文件告诉你哪里的代码格式不对,这样看着很是不直观。经过 Checksytle插件的话能够很是直观的将项目中存在格式问题的地方显示出来。

若是你只是本身在本地使用,并不想在项目中集成 Checksytle 的话也能够,只须要下载一个 Checksytle插件就足够了。

如何安装?

咱们直接在 IDEA 的插件市场便可找到这个插件。我这里已经安装好了。

安装插件以后重启 IDEA,你会发现就能够在底部菜单栏找到 CheckStyle 了。

如何自定义检测规则?

若是你须要自定义代码格式检测规则的话,能够按照以下方式进行配置(你能够导入用于自定义检测规则的CheckStyle.xml文件)。

使用效果

配置完成以后,按照以下方式使用这个插件!

run-check-style

能够很是清晰的看到:CheckStyle 插件已经根据咱们自定义的规则将项目中的代码存在格式问题的地方都检测了出来。

SonarLint:帮你优化代码

SonarLint 帮助你发现代码的错误和漏洞,就像是代码拼写检查器同样,SonarLint 能够实时显示出代码的问题,并提供清晰的修复指导,以便你提交代码以前就能够解决它们。

而且,不少项目都集成了 SonarQube,SonarLint 能够很方便地与 SonarQube 集成。

个人开源项目推荐

  1. JavaGuide :「Java学习+面试指南」一份涵盖大部分Java程序员所须要掌握的核心知识。准备 Java 面试,首选 JavaGuide!
  2. guide-rpc-framework :A custom RPC framework implemented by Netty+Kyro+Zookeeper.(一款基于 Netty+Kyro+Zookeeper 实现的自定义 RPC 框架-附详细实现过程和相关教程)
  3. jsoncat :仿 Spring Boot 但不一样于 Spring Boot 的一个轻量级的 HTTP 框架
  4. programmer-advancement :程序员应该有的一些好习惯+面试必知事项!
  5. springboot-guide :Not only Spring Boot but also important knowledge of Spring(不仅是SpringBoot还有Spring重要知识点)
  6. awesome-java :Collection of awesome Java project on Github(Github 上很是棒的 Java 开源项目集合).

我是 Guide 哥,一 Java 后端开发,会一点前端,自由的少年。咱们下期再见!微信搜“JavaGuide”回复“面试突击”领取我整理的 4 本原创PDF

我是 Guide 哥,一 Java 后端开发,会一点前端,自由的少年。咱们下期再见!微信搜“JavaGuide”回复“面试突击”领取我整理的 4 本原创PDF