大家好,我是Guide哥。上篇文章《「討論」IntelliJ IDEA vs Eclipse:哪個更適合Java工程師?》中留言區大量評論表明IDEA更香,逃不過真香定律啊!

這篇文章中我會介紹10個非常不錯的IDEA插件以及它們常見功能的使用方法。
這一期內容搞 Gif 動態圖花了很久,很多Gif圖片上傳到微信還提示過大,所以很多地方重新又錄制了一遍Gif圖。
概覽:
- IDE Features Trainer—IDEA交互式教程
- RestfulToolkit—RESTful服務開發
- Key Promoter X—快捷鍵
- Presentation Assistant—快捷鍵展示
- Codota—代碼智能提示
- Alibaba Java Code Guidelines—阿里巴巴 Java 代碼規范
- GsonFormat+RoboPOJOGenerator—JSON轉類對象
- Statistic—項目信息統計
- Translation-必備的翻譯插件
- CamelCase-多種命名格式之間切換
“
👉 注意:這只是第一彈,后面的文章中,我會繼續推薦一些我在工作中必備的 IDEA 插件以及他們的使用方法。
IDE Features Trainer—IDEA交互式教程
有了這個插件之后,你可以在 IDE 中以交互方式學習IDEA最常用的快捷方式和最基本功能。 非常非常非常方便!強烈建議大家安裝一個,尤其是剛開始使用IDEA的朋友。
當我們安裝了這個插件之后,你會發現我們的IDEA 編輯器的右邊多了一個“Learn”的選項,我們點擊這個選項就可以看到如下界面。

我們選擇“Editor Basics”進行,然后就可以看到如下界面,這樣你就可以按照指示來練習了!非常不錯!

RestfulToolkit—RESTful服務開發
專為 RESTful 服務開發而設計的插件,有了它之后,你可以:
1.根據 URL 直接跳轉到對應的方法定義 (Windows: ctrl+\
or ctrl+alt+n
Mac:command+\
or command+alt+n
)並且提供了一個 Services tree 的可視化顯示窗口。 如下圖所示:

2.作為一個簡單的 http 請求工具來使用。

4.在請求方法上添加了有用功能: 復制生成 URL、復制方法參數...
我們選中的某個請求對應的方法然后右擊,你會發現多了這樣幾個選項。我們選擇Generate & Copy Full URL
,這樣你就把整個請求的路徑復制下來了:http://localhost:9333/api/users?pageNum=1&pageSize=1
。

5.其他功能: java 類上添加 Convert to JSON 功能,格式化 json 數據 ( Windows: Ctrl + Enter; Mac: Command + Enter )。
我們選中的某個類對應的方法然后右擊,你會發現多了這樣幾個選項。

當我們選擇Convert to JSON
的話,你會得到:
{
"username": "demoData",
"password": "demoData",
"rememberMe": true
}
復制代碼
Key Promoter X—快捷鍵
相信我!這一定是IDEA必備的一個插件。它的功能主要是在一些你本可以使用快捷鍵操作的地方提醒你用快捷鍵操作。 比如我直接點擊tab欄下的菜單打開 Version Control(版本控制) 的話,這個插件就會提示我說你可以用快捷鍵 command+9
或者shift+command+9
打開,如下圖所示:

除了這個很棒的功能之外,它還有一個功能我覺得非常棒,那就是展示出哪些快捷鍵你使用的次數最多!超級贊!!!
Guide哥:快捷鍵真的很重要!入職之后,每次看着同事們花里胡哨的快捷鍵操作,咔咔咔很快就完成了某個操作,我才深深意識到它的重要性。不誇張的說,你用IDEA開發,常用的快捷鍵不熟悉的話,效率至少降低 30%。

小伙,你使用快捷鍵進行操作的時候,是帥啊!但是,你給別人演示的時候,別人可能根本不知道你進行了什么快捷鍵操作。這個時候 Presentation Assistant 這個插件就站出來了!
Presentation Assistant—快捷鍵展示
安裝這個插件之后,你用鍵盤快捷鍵所做的操作都會被展示出來,非常適合自己在錄制視頻或者給別人展示代碼的時候使用。比如我使用快捷鍵 command+9
打開 Version Control ,使用了這個插件之后的效果如下圖所示:

Codota—代碼智能提示
Codota 這個插件用於智能代碼補全,它基於數百萬Java程序,能夠根據程序上下文提示補全代碼。相比於IDEA自帶的智能提示來說,Codota 的提示更加全面一些,如下圖所示。
我們創建線程池現在變成下面這樣:

上面只是為了演示這個插件的強大,實際上創建線程池不推薦使用這種方式, 推薦使用 ThreadPoolExecutor
構造函數創建線程池。我下面要介紹的一個阿里巴巴的插件-Alibaba Java Code Guidelines 就檢測出來了這個問題,所以,Executors
下面用波浪線標記了出來。
除了,在寫代碼的時候智能提示之外。你還可以直接選中代碼然后搜索相關代碼示例。

Codota 還有一個在線網站,在這個網站上你可以根據代碼關鍵字搜索相關代碼示例,非常不錯!我在工作中經常會用到,說實話確實給我帶來了很大便利。網站地址:www.codota.com/code ,比如我們搜索 Files.readAllLines
相關的代碼,搜索出來的結果如下圖所示:

Codota 插件的基礎功能都是免費的。你的代碼也不會被泄露,這點你不用擔心。
Alibaba Java Code Guidelines—阿里巴巴 Java 代碼規范
阿里巴巴 Java 代碼規范,對應的Github地址為:github.com/alibaba/p3c 。非常推薦安裝!
安裝完成之后建議將與語言替換成中文,提示更加友好一點。

根據官方描述:
“
目前這個插件實現了開發手冊中的的53條規則,大部分基於PMD實現,其中有4條規則基於IDEA實現,並且基於IDEA Inspection實現了實時檢測功能。部分規則實現了Quick Fix功能,對於可以提供Quick Fix但沒有提供的,我們會盡快實現,也歡迎有興趣的同學加入進來一起努力。目前插件檢測有兩種模式:實時檢測、手動觸發。
上述提到的開發手冊也就是在Java開發領域赫赫有名的《阿里巴巴Java開發手冊》。
你還可以手動配置相關 inspection規則:

這個插件會實時檢測出我們的代碼不匹配它的規則的地方,並且會給出修改建議。比如我們按照下面的方式去創建線程池的話,這個插件就會幫我們檢測出來,如下圖所示。

這個可以對應上 《阿里巴巴Java開發手冊》 這本書關於創建線程池的方式說明。

GsonFormat+RoboPOJOGenerator—JSON轉類對象
這個插件可以根據Gson庫使用的要求,將JSONObject格式的String 解析成實體類。
這個插件使用起來非常簡單,我們新建一個類,然后在類中使用快捷鍵 option + s
(Mac)或alt + s
(win)調出操作窗口(必須在類中使用快捷鍵才有效),如下圖所示。

這個插件是一個國人幾年前寫的,不過已經很久沒有更新了,可能會因為IDEA的版本問題有一些小Bug。而且,這個插件無法將JSON轉換為Kotlin(這個其實無關痛癢,IDEA自帶的就有Java轉Kotlin的功能)。

另外一個與之相似的插件是 :RoboPOJOGenerator ,這個插件的更新頻率比較快。
File-> new -> Generate POJO from JSON
復制代碼

然后將JSON格式的數據粘貼進去之后,配置相關屬性之后選擇“Generate”

Statistic—項目信息統計
有了這個插件之后你可以非常直觀地看到你的項目中所有類型的文件的信息比如數量、大小等等,可以幫助你更好地了解你們的項目。

你還可以使用它看所有類的總行數、有效代碼行數、注釋行數、以及有效代碼比重等等這些東西。

Translation-必備的翻譯插件
有了這個插件之后,你再也不用在編碼的時候打開瀏覽器查找某個單詞怎么拼寫、某句英文注釋什么意思了。
並且,這個插件支持多種翻譯源:
- Google 翻譯
- Youdao 翻譯
- Baidu 翻譯
除了翻譯功能之外還提供了語音朗讀、單詞本等實用功能。這個插件的Github地址是:github.com/YiiGuxing/T… (貌似是國人開發的,很贊)。
使用方法很簡單!選中你要翻譯的單詞或者句子,使用快捷鍵 command+ctrl+u(mac)
/ shift+ctrl+y(win/linux)
(如果你忘記了快捷的話,鼠標右鍵操作即可!)

如果需要快速打開翻譯框,使用快捷鍵command+ctrl+i(mac)
/ctrl + shift + o(win/linux)

如果你需要將某個重要的單詞添加到生詞本的話,只需要點擊單詞旁邊的收藏按鈕即可!
CamelCase-多種命名格式之間切換
非常有用!這個插件可以實現包含6種常見命名格式之間的切換。並且,你還可以對轉換格式進行相關配置(轉換格式),如下圖所示:

有了這個插件之后,你只需要使用快捷鍵 shift+option+u(mac)
/ shift+alt+u
對准你要修改的變量或者方法名字,就能實現在多種格式之間切換了,如下圖所示:

如果你突然忘記快捷鍵的話,可以直接在IDEA的菜單欄的 Edit 部分找到。

使用這個插件對開發效率提升高嗎?拿我之前項目組的情況舉個例子:
我之前有一個項目組的測試名字是駝峰這種形式:ShouldReturnTicketWhenRobotSaveBagGiven1LockersWith2FreeSpace
。但是,使用駝峰形式命名測試方法的名字不太明顯,一般建議用下划線_的形式:should_return_ticket_when_robot_save_bag_given_1_lockers_with_2_free_space
如果我們不用這個插件,而是手動去一個一個改的話,工作量想必會很大,而且正確率也會因為手工的原因降低。
“
👉 注意:這只是第一彈,后面的文章中,我會繼續推薦一些我在工作中必備的 IDEA 插件以及他們的使用方法。
我的 75k Star 開源項目 JavaGuide 總結而成的PDF版本的**《JavaGuide面試突擊版》**,公眾號后台回復“面試突擊”即可獲取最新版本!安排!