如何用 IDEA 提升十倍開發(fā)效率?
JetBrains 公司提供了一系列功能強(qiáng)大、風(fēng)格統(tǒng)一的開發(fā)工具,深受開發(fā)者喜愛。其中,IDEA 是面向 Java 開發(fā)的專業(yè) IDE(集成開發(fā)環(huán)境),90% 以上的企業(yè)都在使用 IDEA 進(jìn)行 Java 開發(fā),而不是用其他的工具如 Eclipse。

但是,想要開發(fā)效率最大化,僅有好的開發(fā)工具是不夠的,還要能夠熟練地使用它。對于 IDEA 的新用戶來說,面對功能如此豐富的開發(fā)工具可能會(huì)有些迷茫,但又不想花時(shí)間去學(xué)習(xí)如何使用,于是僅僅把它當(dāng)做能編寫代碼的記事本了(就是好看點(diǎn)),大材小用。
為大家總結(jié)了自己掌握的 IDEA 使用技巧,包括實(shí)用插件、開發(fā)技巧和閱讀源碼的技巧等。只需花 5 分鐘的時(shí)間閱讀,即可提升十倍的開發(fā)效率!

什么,你說 IDEA 太貴用不起?如果還是學(xué)生黨,可以免費(fèi)使用 IDEA 及 JetBrains 全系列產(chǎn)品哦~
地址:https://www.jetbrains.com/shop/eform/students
快捷鍵
要使用任何 IDE(集成開發(fā)環(huán)境)提升開發(fā)及閱讀源碼的效率,首先要活用快捷鍵。
在 IDEA 中,可以在 preferences 的 keymap 設(shè)置中查詢及設(shè)置快捷鍵,如圖:

實(shí)用插件
1. Key Promoter X
快捷鍵提示插件。當(dāng)你執(zhí)行鼠標(biāo)操作時(shí),如果該操作可被快捷鍵代替,會(huì)給出提示,幫助你自然形成使用快捷鍵的習(xí)慣,告別死記硬背。
地址:https://plugins.jetbrains.com/plugin/9792-key-promoter-x/

2. AiXcoder Code Completer
代碼提示補(bǔ)全插件。使用 AI 去自動(dòng)提示和補(bǔ)全代碼,比 IDEA 自帶的代碼補(bǔ)全更加智能化。
地址:https://plugins.jetbrains.com/plugin/13574-aixcoder-code-completer/

3. Arthas Idea
Arthas 命令生成插件。Arthas 是阿里開源的 Java 在線診斷工具,該插件可以自動(dòng)生成 Arthas 在線 Java 代碼診斷命令,不用再到官網(wǎng)翻文檔拼命令啦!
地址:https://plugins.jetbrains.com/plugin/13581-arthas-idea/

4. Auto filling Java call arguments
代碼生成插件。通過快捷鍵自動(dòng)補(bǔ)全函數(shù)的調(diào)用參數(shù),針對包含大量參數(shù)的構(gòu)造函數(shù)和方法非常有用!
地址:https://plugins.jetbrains.com/plugin/8638-auto-filling-java-call-arguments/

5. GenerateAllSetter
代碼生成插件。一鍵生成指定對象的所有 set 方法調(diào)用代碼,自動(dòng)賦值,或者生成某方法的返回值,這在單元測試造假數(shù)據(jù)時(shí)非常有用。
地址:https://plugins.jetbrains.com/plugin/9360-generateallsetter/

6. GenerateSerialVersionUID
代碼生成插件。一鍵為實(shí)現(xiàn) Serializable 接口的類生成 SerialVersionUID。
地址:https://plugins.jetbrains.com/plugin/185-generateserialversionuid/

7. GsonFormat
代碼生成插件。在類中使用,粘貼一段 Json 文本,能自動(dòng)生成對象的嵌套結(jié)構(gòu)代碼。
地址:https://plugins.jetbrains.com/plugin/7654-gsonformat/

8. Lombok
代碼生成插件。配合 Lombok 依賴及注解使用,能夠大大減少 POJO(簡單老式 Java 對象)的代碼量。
安裝插件后還要開啟注解支持,可以參照這篇文章進(jìn)行配置:https://www.baeldung.com/lombok-ide 。
插件地址:https://plugins.jetbrains.com/plugin/6317-lombok/
9. Rainbow Brackets
代碼瀏覽插件。通過顏色區(qū)分括號(hào)嵌套層級(jí),便于閱讀,能夠更快地對錯(cuò)誤代碼進(jìn)行定位和調(diào)整。但是建議不要在代碼中出現(xiàn)大量的嵌套哦!
地址:https://plugins.jetbrains.com/plugin/10080-rainbow-brackets/

10. CodeGlance
代碼瀏覽小地圖插件。在編輯器右側(cè)生成 code minimap,可以拖拽小地圖光標(biāo)快速定位代碼,閱讀行數(shù)很多的代碼文件時(shí)非常實(shí)用。
地址:https://plugins.jetbrains.com/plugin/7275-codeglance/

11. GitToolBox
Git 增強(qiáng)插件。在自帶的 Git 功能之上,新增了查看 Git 狀態(tài)、自動(dòng)拉取代碼、提交通知等功能。最好用的是可以查看到每一行代碼的最近一次提交信息。
地址:https://plugins.jetbrains.com/plugin/7499-gittoolbox/

12. Translation
翻譯插件。程序員最痛苦的事莫過于閱讀代碼時(shí)遇到不懂的英文單詞,有了這個(gè)插件,鼠標(biāo)選中文本,點(diǎn)擊右鍵即可自動(dòng)翻譯成多國語言。
地址:https://plugins.jetbrains.com/plugin/8579-translation/

開發(fā)技巧
通過插件可以給 IDEA 增加新功能,但是 IDEA 自帶的功能也非常強(qiáng)大,有很多實(shí)用的開發(fā)技巧。
1. 使用上述代碼生成和瀏覽插件
2. 熟練使用快捷鍵,通過上述 Key Promoter X 插件漸進(jìn)式熟悉快捷鍵。
網(wǎng)上對快捷鍵的整理太多了,此處不再贅述,可以參考這兩篇文章:
- IDEA Mac 快捷鍵指南,地址:https://www.jianshu.com/p/454c71172c46
- IDEA Win 常用快捷鍵,地址:https://www.jianshu.com/p/5de7cca0fefc
比較常用的快捷鍵是換行、復(fù)制/刪除當(dāng)前行、代碼格式化等。
3. 利用快捷鍵為類快速生成代碼(Win: Alt+Insert,Mac: command + n)

4. 運(yùn)用代碼模板(Live Templates)
代碼模板是 IDEA 中非常好用的功能,可以通過縮寫(關(guān)鍵詞)來生成指定的代碼段,很多重復(fù)的代碼都可以用這種方式來快速生成,提高效率的同時(shí)降低了出錯(cuò)概率。
示例如下:

IDEA 為我們內(nèi)置了很多代碼模板,比如 main:

也可以自己定義縮寫和要生成的代碼段:

還可以使用預(yù)定義變量、自定義變量及使用內(nèi)置函數(shù),更多高級(jí)用法可以參考這篇文章:IDEA 中 live template 的詳細(xì)使用教程(地址:https://www.jianshu.com/p/3974df6572af)
5. 使用內(nèi)置剪切板保存復(fù)制歷史
寫代碼的必備技能是復(fù)制粘貼,不僅可以提高效率,還可以降低出錯(cuò)率(比如用戶、秘鑰、地址等信息)。

IDEA 內(nèi)置了剪切板,可以幫助我們保存復(fù)制歷史,粘貼時(shí)按 shift + ctrl + v 即可選擇復(fù)制。

不滿足于內(nèi)置的剪切板?還可以使用更高級(jí)的軟件:Ditto(Windows)或 Alfred(Mac)
6. 使用內(nèi)置的 Git
IDEA 內(nèi)置了 Git 輔助工具,能夠可視化分支管理/切換,代碼提交/更新/沖突解決/回退,代碼歷史版本查看等。在頂部菜單 VCS > Git 中可以查看所有功能:

在底部欄中可以查看 Git 日志:

7. 使用內(nèi)置 HTTP Client 測試接口
不需要再使用 Postman 等外置接口測試工具了,IDEA 內(nèi)置了 HTTP Client,通過編寫請求腳本來進(jìn)行調(diào)用,非常靈活。
在頂部菜單的 Tools > HTTP Client 中打開:

編寫腳本進(jìn)行 HTTP 接口測試:

詳細(xì)用法請閱讀官方使用文檔,地址:https://www.jetbrains.com/help/idea/http-client-in-product-code-editor.html
閱讀源碼技巧
優(yōu)秀的程序員一定會(huì)閱讀很多源碼,閱讀源碼也是有很多技巧的。
通常,根據(jù)他人總結(jié)的項(xiàng)目文檔,先看整體(目錄和類圖)再看局部(類和函數(shù))。對于 Java 項(xiàng)目,就是先查看包的層級(jí)關(guān)系,然后分析包中類(接口)之間的關(guān)系,包括繼承、實(shí)現(xiàn)、委托、方法調(diào)用等,最后再查看某個(gè)類具體的屬性和方法的具體實(shí)現(xiàn)。
IDEA 為整個(gè)閱讀源碼的過程提供了一系列好用的功能支持,能夠大大提高閱讀效率。
1. 文件/類搜索
根據(jù)文件名搜索文件/類
快捷鍵:shift + shift(連按兩次)

2. 字段搜索
根據(jù)文件內(nèi)容搜索,可直接定位到目標(biāo)內(nèi)容位置,支持局部(當(dāng)前文件或選中代碼段)和全局搜索(項(xiàng)目/模塊/目錄/作用域等)
局部搜索快捷鍵:Win: Ctrl + F ?Mac: Command + F
全局搜索快捷鍵:Win: Ctrl + shift + F ?Mac: Command + Shift + F

3. 跳轉(zhuǎn)到上/下次光標(biāo)的位置
查看源碼時(shí),經(jīng)常需要在兩個(gè)類中來回跳轉(zhuǎn),這個(gè)功能就變得相當(dāng)實(shí)用!
查看上次光標(biāo)位置快捷鍵:Win: Alt + ← ?Mac: Option + Command + ←
查看下次光標(biāo)位置快捷鍵:Win: Alt + → ?Mac: Option + Command + →
4. 查看接口的實(shí)現(xiàn)類(或接口方法的實(shí)現(xiàn))
如果光標(biāo)選中接口方法,直接跳轉(zhuǎn)到該方法的具體實(shí)現(xiàn)。如果有多個(gè)實(shí)現(xiàn),則可以選擇跳轉(zhuǎn)到指定的實(shí)現(xiàn)類。
快捷鍵:Win: Ctrl + Alt + B ?Mac: Option + Command + B

5. 查看方法調(diào)用樹
可以查看指定方法的所有調(diào)用方和被調(diào)方。
快捷鍵:Win: Ctrl + Alt + H ?Mac: Control + Option + H

6. 查看類關(guān)系圖
非常實(shí)用的功能,直觀清晰地展現(xiàn)類的關(guān)系,便于分析。
快捷鍵:Win: Ctrl + Alt + U ?Mac: Shift + Option + Command + U

7. 查看類的繼承樹
能夠查看類的父類和子類繼承關(guān)系。
快捷鍵:Win: Ctrl + H ?Mac: Control + H

8. 查看定義的變量在哪里被聲明/調(diào)用
如果光標(biāo)在變量聲明處,則查看使用該變量的代碼;如果光標(biāo)在使用變量處,則查看變量的聲明位置。
快捷鍵:Win: Ctrl + B ?Mac: Command + B 或按住 Ctrl / Command 點(diǎn)擊鼠標(biāo)左鍵

9. 查看定義的變量在哪里被調(diào)用
功能和上述功能類似,僅查看變量的調(diào)用位置。
快捷鍵:Win: Ctrl + Alt + F7 ?Mac: Option + Command + F7
10. 查看類的結(jié)構(gòu)
能夠查看某一個(gè)類的屬性、域、方法、繼承方法、匿名類、Lambdas,并快速跳轉(zhuǎn)到指定位置。
快捷鍵:Win: Alt + 7 ?Mac: Command + 7

11. 查看每行代碼的提交信息(需被 Git 管理)
在代碼行數(shù)列表處右鍵,點(diǎn)擊 Annotate 開啟代碼提交信息顯示:

效果如下,爛代碼元兇快快顯形!

以上就是?IDEA 使用技巧啦,快去寫幾行代碼熟悉下吧~
有道無術(shù),術(shù)可成;有術(shù)無道,止于術(shù)
歡迎大家關(guān)注Java之道公眾號(hào)
好文章,我在看??
