推薦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

相關文章
相關標籤/搜索