要想代码写的好,这几款IDEA插件你离不了

要想代码写的好,这几款IDEA插件你离不了

原创Guide哥2020-10-21 19:06:14

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

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

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

01 Codota:代码智能提示

我一直在用的一个插件,可以说非常好用了(我身边的很多大佬平时写代码也会用这个插件)。

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

如果你觉得 IDEA 插件安装的太多比较卡顿的话,不用担心!Codota 插件还有一个对应的在线网站(https://www.codota.com/code),在这个网站上你可以根据代码关键字搜索相关代码示例,非常不错!

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

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

简单来看看 Codota 插件的骚操作吧!

代码智能补全

我们使用HttpUrlConnection 建立一个网络连接是真的样的:

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

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

代码智能搜索

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

02 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开发手册》 这本书关于创建线程池的方式说明。

03 CheckStyle: Java代码格式规范

为何需要CheckStyle插件?

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

在项目上,通过项目开发人员自我约束来规范代码格式必然是不靠谱的! 因此,我们非常需要这样一款工具来帮助我们规范代码格式。

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

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

guide-rpc-framework :A custom RPC framework implemented by Netty Kyro Zookeeper.(一款基于 Netty Kyro Zookeeper 实现的自定义 RPC 框架-附详细实现过程和相关教程)

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 插件已经根据我们自定义的规则将项目中的代码存在格式问题的地方都检测了出来。

04 SonarLint:帮你优化代码

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

并且,很多项目都集成了 SonarQube,SonarLint 可以很方便地与 SonarQube 集成。

收藏
举报
(0)

相关推荐

  • 使用自定义格式,隐藏单元格内容

    如果想把某个区域中的内容不显示出来. 如下表,A1:B10数据不想让别人看到. 上次讲过一种方法,设为白色字体,然后设置隐藏,保护. 今天,使用自定义格式的方法也可以实现特殊的隐藏. 具体的操作如下: ...

  • C++代码分析组件现已支持SARIF 2.1

    从Visual Studio 16.8开始,MSVC代码分析组件正式支持SARIF 2.1.0标准. SARIF一项用于展示静态分析结果的工业标准,我们是最早和SARIF技术委员会进行过合作的开发者之 ...

  • 边想边写:河西谣曲(之二)

    河西谣曲(之二) 文/海拔3500米 羊油滴在石头上 瓷的玉石一样 雕刻个佛坠戴 雪后的道路 白的像羊油,瓷的像玉石 掼倒没有人扶起 秋天攒不下膘 春上熬了胶 父亲替那匹老骟驴着急 吃小灶,加饲料 又 ...

  • 《书法口诀》完整版:要想书法写的妙,口诀牢记真重要!

    一.笔墨性情 书法布白讲技巧 皆以其人情为本 喜怒哀乐造诣深 喜气和气而字舒 怒则气粗而字险 哀者气郁而字敛 乐者气平而字丽 情有轻重字险丽 深浅变化在用笔 运笔使墨看造型 笔性墨情掌握好 个性艺术自 ...

  • 想要写一手好字?首先,你得有个好“爹”

    在今天,书法作为中国特有的艺术,可以说让外国人羡慕不已. 就像毕加索,一直做着在中国成为书法家的梦. 但是我们今天所理解的这种书法, 真的和古人眼中的书法是一样的吗? ▼ 在历史的相当一段时间里,由于 ...

  • 边想边写:河西谣曲(之三)

    河西谣曲(之三) 文/海拔3500米 吃药不忌嘴 跑折医生的腿 魏先生说忌醋 药引子为童子尿和生铁 中药在罐子里咕嘟咕嘟  荡气,回肠.一饮而尽 石头眼镜黑礼帽 三寸金莲大襟袄 外公开方外婆抓药 蛇皮 ...

  • 想要写出一手好字,先从“衡水体字帖丨高考英语满分作文”写起

    想要写出一手好字,先从“衡水体字帖丨高考英语满分作文”写起

  • 边想边写:酒鬼是一个幸福的人

    酒鬼是一个幸福的人 -和高凯<老烟鬼是一个有炊烟的人> 文/海拔3500米 烟酒不分家 高凯说:老烟鬼是一个有炊烟的人 我说:酒鬼是一个幸福的人 有酒店,但没有烟店 烟盒上写着吸烟有害健康 ...

  • 边想边写:河西谣曲(之四)

    河西谣曲(之四) 文/海拔3500米 西番的牦牛 只认一顶帐房 黑牦牛,黑帐房 卓玛的眼,扎西的脸 你看那只旱獭钻进了洞里 你看那匹走马消失在闪电里 野花把草原敞开 屎壳郎把粪球散开 寺院里正在晒经 ...

  • 掌握好字体结构几大原则,想要写好字并不难

    对照字帖练习时,一般初学者最容易陷入"无法写得像"的挫折中,尤其是刚练字的孩子,与其埋头苦干拼命练习,不如试着以更有效率的方式学习.因为汉字的结构安排有一些常见的规律,若是加以分类 ...

  • 边想边写:沙尘

    沙尘 文/海拔3500米 1 沙尘,总会将 万物一遍一遍的侵袭 抵达每件物体的内心 总会有一场风雪将它按住 就像按住一个出山的神兽 2 风用脚步擦拭人间的灰尘 我用毛巾擦拭房间的灰尘 3 风吹大地 风 ...