1. 程式人生 > >IntelliJ IDEA 常用外掛一覽,讓效率成為習慣

IntelliJ IDEA 常用外掛一覽,讓效率成為習慣

開發十年,就只剩下這套架構體系了! >>>   

一、官方工具

IntelliJ IDEA 預設安裝並提供了非常多的工具,比如 Git Integration、Maven Integration、Markdown support、SSH Remote Run 等。其中有很多好用,但是不為人知的工具。

1. REST client

在日常開發過程中,我們或多或少都涉及到 API 介面的測試。例如,有的小夥伴使用 Chrome 的 Postman 外掛,或者使用火狐的 restclient 等工具。事實上,這些工具是測試 API 介面非常有效的方式之一,筆者之前也一直使用 Postman 完成 API 介面的測試工作。今天,筆者推薦另外一個非常好用的小工具,能夠幫助讀者快速測試 API 介面。這個工具就是 IDEA 的 Editor REST Client。IDEA 的 Editor REST Client 在 IntelliJ IDEA 2017.3 版本就開始支援,在 2018.1 版本添加了很多的特性。事實上,它是 IntelliJ IDEA 的 HTTP Client 外掛。詳細使用文件,參考:http://blog.720ui.com/2018/restclient_use/

2. UML Support

如果需要研究原始碼,內建 UML Support 外掛可以很好地檢視類繼承關係。詳細使用文件,參考:https://www.jetbrains.com/help/idea/class-diagram.html

未完待續。。。

二、市場外掛

  • 阿里程式碼規約檢測

  • 快捷鍵提示工具:Key promoter X

  • 程式碼註解外掛: Lombok

  • 程式碼生成工具:CodeMaker

  • 單元測試測試生成工具:JUnitGenerator

  • Mybatis 工具:Free Mybatis plugin

  • Maven輔助神器:Maven Helper

  • JSON轉領域物件工具:GsonFormat

  • 領域物件轉JSON工具:POJO to JSON

  • 時序圖生成工具:SequenceDiagram

  • 字串工具:String Manipulation

  • 程式碼作色工具:Rainbow Brackets

  • RESTful 服務開發輔助工具集: RestfulToolkit

  • 日誌工具:Grep Console

  • 生成物件set方法:GenerateAllSetter

  • Redis視覺化:Iedis

  • K8s工具:Kubernetes

  • 中英文翻譯工具:Translation

1. 阿里程式碼規約檢測

《阿里巴巴 Java 開發手冊》是阿里巴巴集團技術團隊的集體智慧結晶和經驗總結, 經歷了多次大規模一線實戰的檢驗及不斷完善, 系統化地整理成冊。當然,規範只能提供參考,我們還需要工具來幫忙我們實現了實時檢測。目前,Alibaba Java Code Guidelines 外掛實現了開發手冊中的的 53 條規則,大部分基於 PMD 實現,其中有 4 條規則基於 IDEA 實現,並且基於 IDEA Inspection 實現了實時檢測功能。部分規則實現了 Quick Fix 功能。目前,外掛檢測有兩種模式:實時檢測、手動觸發。詳細使用文件,參考:https://github.com/alibaba/p3c/blob/master/idea-plugin/README_cn.md

  • 阿里巴巴 Java 開發手冊(詳盡版): https://github.com/alibaba/p3c/blob/master/阿里巴巴Java開發手冊(詳盡版).pdf

  • GitHub : https://github.com/alibaba/p3c

  • IDEA 外掛地址:https://plugins.jetbrains.com/plugin/10046-alibaba-java-coding-guidelines


此外,類似的外掛還有 FindBugs 和 CheckStyle。

2. 快捷鍵提示工具:Key promoter X

Key Promoter X 是一個快捷鍵提示外掛,如果滑鼠操作是能夠用快捷鍵替代,Key Promoter X 會提示可以用什麼快捷鍵替代。詳細使用文件,參考:https://plugins.jetbrains.com/plugin/9792-key-promoter-x

3. 程式碼註解外掛: Lombok

lombok 的使用,參考 :https://projectlombok.org/。我們需要在程式碼中引入二方庫,然後安裝 lombok 外掛即可。

 
  1. <dependency>

  2.   <groupId>org.projectlombok</groupId>

  3.   <artifactId>lombok</artifactId>

  4.   <version>最新版本號</version>

  5. </dependency>

4. 程式碼生成工具:CodeMaker

開發過程中,經常手工編寫重複程式碼。現在,可以通過 CodeMaker 來定義 Velocity 模版來支援自定義程式碼模板來生成程式碼。目前,CodeMaker 自帶兩個模板。Model:根據當前類生成一個與其擁有類似屬性的類,用於自動生成持久類對應的領域類。Converter:該模板需要兩個類作為輸入的上下文,用於自動生成領域類與持久類的轉化類。詳細使用文件,參考:https://github.com/x-hansong/CodeMaker

5. 單元測試測試生成工具:JUnitGenerator

單元測試是必不可少的!我們可以使用 JUnitGenerator 外掛來自動建立了單元測試。我們可以使用提供的 velocity 模板定製單元測試輸出程式碼。如果在已經存在單元測試的地方建立了單元測試,則會提示使用者進行覆蓋或合併操作。合併操作允許使用者有選擇地建立目標檔案內容。詳細使用文件,參考:https://plugins.jetbrains.com/plugin/3064-junitgenerator-v2-0

6. Mybatis 工具:Free Mybatis plugin

現在,MyBatis 框架已佔領半壁江山。因此,圍繞著 MyBatis 的外掛和工具越來越多。Free Mybatis plugin 非常方便進行 Mapper 介面和 XML 檔案之間跳轉。詳細使用文件,參考:
https://plugins.jetbrains.com/plugin/8321-free-mybatis-plugin。此外,收費版的還有 Mybatis plugin。

對於 Mybatis 的工具還有很多,比如 mybatis-log-plugin、codehelper.generator。此外,非 IDEA的工具有: Mybatis 分頁外掛 Mybatis-PageHelper、Mybatis 程式碼生成工具 mybatis-generator 等。地址:http://www.mybatis.org/generator/

7. Maven輔助神器:Maven Helper

如果 Maven 引入的 jar 包有衝突,可以使用 Maven Helper 外掛來幫助分析。詳細使用文件,參考:https://plugins.jetbrains.com/plugin/7179-maven-helper

8. JSON轉領域物件工具:GsonFormat

在開發過程中,我們可能會遇到 json 格式的字串轉換成實體類引數的場景,這個外掛可以根據 JSONObject 格式的字串,自動生成實體類引數。詳細使用文件,參考:https://github.com/zzz40500/GsonFormat
那麼,如何使用呢?我們可以使用 GsonFommat 的快捷鍵,預設 option + s (mac), alt + s (win) 通過以下方式修改快捷鍵。或者點選工具欄的 Generate 來喚起生成工具。

9. 領域物件轉JSON工具:POJO to JSON

為了測試需要,我們需要將簡單 Java 領域物件轉成 JSON 字串方便用 postman 或者 curl 模擬資料。詳細使用文件,參考:https://plugins.jetbrains.com/plugin/9686-pojo-to-json

10. 時序圖生成工具:SequenceDiagram

有的時候,我們需要梳理業務邏輯或者閱讀原始碼。從中,我們需要了解整個呼叫鏈路,反向生成 UML 的時序圖是強需求。其中,SequenceDiagram 外掛是一個非常棒的外掛。詳細使用文件,參考:https://plugins.jetbrains.com/plugin/8286-sequencediagram

11. 字串工具:String Manipulation

String Manipulation 外掛提供了非常豐富字串工具,例如命名替換( (camelCase, kebab-lowercase, KEBAB-UPPERCASE, snakecase, SCREAMINGSNAKE_CASE, dot.case, words lowercase, Words Capitalized, PascalCase)等。詳細使用文件,參考:https://plugins.jetbrains.com/plugin/2162-string-manipulation

12. 程式碼作色工具:Rainbow Brackets

Rainbow Brackets 外掛可以實現配對括號相同顏色,並且實現選中區域程式碼高亮的功能。詳細使用文件,參考:https://plugins.jetbrains.com/plugin/10080-rainbow-brackets

事實上,程式碼作色之後,可以非常方便我們閱讀。類似的工具還有:Grep Console 來自定義設定控制檯輸出顏色等。

13. RESTful 服務開發輔助工具集: RestfulToolkit

開發中,經過會根據 URI 的部分資訊來查詢對應的 Controller 中方法,RestfulToolkit 提供了一套 RESTful 服務開發輔助工具集,提供瞭如下功能:

根據 URL 直接跳轉到對應的方法定義 ( Ctrl \ or Ctrl Alt N ); 提供了一個 Services tree 的顯示視窗; 一個簡單的 http 請求工具; 在請求方法上添加了有用功能: 複製生成 URL;,複製方法引數... 其他功能: java 類上新增 Convert to JSON 功能,格式化 json 資料 ( Windows: Ctrl + Enter; Mac: Command + Enter )。

詳細使用文件,參考:https://plugins.jetbrains.com/plugin/10292-restfultoolkit

14. 日誌工具:Grep Console

參考:https://plugins.jetbrains.com/plugin/7125-grep-console

不同級別日誌通過顏色區分,一路瞭然

高亮日誌

便捷檢索日誌

15. 生成物件set方法:GenerateAllSetter

開發中,有時可以通過BeanUtil等工具類進行物件之間的屬性拷貝,但有時候也需要手工進行賦值。通過GenerateAllSetter,可以一鍵生成物件的所有set語句。

16. Redis視覺化:Iedis

參考:https://plugins.jetbrains.com/plugin/9228-iedis 使用參考:https://codesmagic.com/iedis/userguide/getting-started 可方便的執行增刪查改及使用命令列進行操作。

17. K8s工具:Kubernetes

參考 https://plugins.jetbrains.com/plugin/10485-kubernetes 支援編輯 Kubernetes 資原始檔,如下: 可以比較方便的檢視yaml中的各項 placeholder 的預設值,且可以方便的連結到value位置。

18. 中英文翻譯工具:Translation

最騷的操作是什麼?帆哥在群裡分享了一套「半中文程式設計」:說到了變數命名,先用中文寫好,然後用 Translation 外掛的 translate and replace 一鍵替換為英文,這樣效率高而且準確。詳細使用文件,參考:https://plugins.jetbrains.com/plugin/8579-trans