日常開發中,相信廣大 Java 開發者都使用過 IntelliJ IDEA 作為開發工具,IntelliJ IDEA 是一款優秀的 Java 整合開發環境,它提供了許多強大的功能和快捷鍵,可以幫助開發者提高編碼效率和質量。除了一些常見的技巧,如自動導包、智慧補全、重構工具等。IntelliJ IDEA 還有一些不為人知的技巧,可能很多開發者都沒有注意到或者使用過。本文就在為你介紹博主常用的五個 IntelliJ IDEA 使用技巧,希望能夠給你帶來一些工作效率上的提升。本文內容大綱如下:
- 註釋對齊
- 快速建立包目錄/資料夾
- 快付複製類程式碼生成 Java 類
- 多例項啟動
- 分支比較
注意:本文的示例截圖以及操作演示都是基於 IntelliJ IDEA 2023.2 版本而來。過低版本可能不盡相同,大家注意。
註釋對齊
日常開發中,相信大家在新增註釋時都知道使用快捷鍵 ctrl + / ,不過大家可能會遇見下面這種情況,
public DiamondJumpContext(List<DiamondJumpType> diamondJumpTypes) {
//新增註釋
for (DiamondJumpType diamondJumpType : diamondJumpTypes) {
// map.put(diamondJumpType.getType(), diamondJumpType);
}
}
可以看到,使用快捷鍵 ctrl + / 新增註釋程式碼或者註釋已有程式碼時,預設是在首行位置,無法與下方 for 迴圈程式碼自動對齊,造成了視覺上的不美觀,那如何解決這個問題嘞?其實解決方法就藏在 IDEA 裡,我來告訴大家如何設定。
開啟 IDEA 設定 Editor -> Code Style -> Java -> Code Generation,找到下方的 Comment code 區域, 取消 Line comment at first column 的預設勾選,將 Add a space at line comment start 以及 Enforce on reformat 打上勾就可以了。如下圖所示,
然後我們重新給上面的示例程式碼打賞註釋時,效果就是下面這樣了,
public DiamondJumpContext(List<DiamondJumpType> diamondJumpTypes) {
// 新增註釋
for (DiamondJumpType diamondJumpType : diamondJumpTypes) {
// map.put(diamondJumpType.getType(), diamondJumpType);
}
}
大家可以很明顯的看到,此時新增的註釋預設是跟當前程式碼對齊,並且自動留出一個空格,程式碼的可閱讀性有了很大提升。
快速建立包目錄/資料夾
建立包目錄
日常開發時,當大家想新建 Java 類時,考慮到專案的包目錄劃分可能需要新建一個包目錄,那麼大家是如何操作的嘞?是先建立好包目錄後,在建立 Java 類嗎?其實在 IDEA 中建立 Java 類時,是可以直接順帶建立包目錄的,具體操作如下。
在建立 Java 類時,直接寫出包目錄名稱透過 . 拼接即可,如下圖新建 Java 類時填上 controller.TestController ,
效果如下,
可以看到,包目錄自動建立成功。
建立資料夾
快速建立資料夾的方式跟快速建立包目錄差不多,只不過將 . 拼接改為 / 即可,如下圖新建檔案時填上 template/test.csv,
效果如下,
可以看到,資料夾自動建立成功。
快付複製類程式碼生成 Java 類
日常中有個場景,博主經常在上網瀏覽網上的技術資料,看到感興趣的文章時,想要複製文章中的 demo 程式碼在本地跑一遍驗證一下。於是就有了這個快付複製程式碼生成 Java 類的需求。起初博主老老實實透過常規操作在本地手動建立 Java 類,然後複製 demo 程式碼進行驗證。後來瞭解到其實在 IDEA 中是有快付複製類程式碼生成 Java 類的功能,這裡分享給大家。
假如當前我們想要快速複製下方的 Java 類程式碼到 IDEA 專案中,那改如何操作嘞?
/**
* 金剛位跳轉策略配置
*/
@Component
public class DiamondJumpContext {
private final Map<Integer, DiamondJumpType> map = new HashMap<>();
/**
* 由spring自動注入DiamondJumpType子類
*
* @param diamondJumpTypes 金剛位跳轉型別集合
*/
public DiamondJumpContext(List<DiamondJumpType> diamondJumpTypes) {
for (DiamondJumpType diamondJumpType : diamondJumpTypes) {
map.put(diamondJumpType.getType(), diamondJumpType);
}
}
public DiamondJumpType getInstance(Integer jumpType) {
return map.get(jumpType);
}
}
其實操作是很簡單的,我們可以透過全選複製上述 Java 類程式碼,然後開啟 IDEA,滑鼠選中指定的包目錄後透過 ctrl + v 粘連即可。
效果如下,
可以看到,我們已經將 Java 類程式碼快速複製到本地檔案中。
多例項啟動
日常本地開發微服務專案時,博主想要驗證一下閘道器的負載均衡以及感知服務上下線能力時,需要用到多例項啟動。
那麼什麼是多例項啟動嘞?簡單說就是能在本地同時啟動多個同一服務。打個比方專案中有一個 MobileApplication 服務,我現在想要同時啟動兩個 MobileApplication 服務,透過不同埠區分,該如何操作嘞?IDEA 中其實是支援這個操作的。我將給大家介紹如何啟用多例項功能。
開啟服務配置,點選 Modify options 選項,
勾選開啟 Operation System -> Alow multiple instance ,繼續勾選開啟 Java -> Program arguments,然後在 Program arguments 輸入框中指定埠,在 Spring 專案中透過 --server.port=9999,如下圖(注意每次啟動例項時,這裡的埠不能相同),
效果圖如下,
可以看到,這裡多例項啟動的功能就 OK 了,在 Modify options 選項中還有許多常用功能,對於日常開發都是很多幫助的,比如 Java -> add VM options 可以用來新增 jvm 啟動引數等。
分支比較
日常開發中,當專案上線時,博主經常會使用這個功能,用於比較當前新功能分支與 master 分支的程式碼差異。
假如新功能分支上線前經歷了多個人員參與迭代以及衝突修復,作為專案主程的你需要在專案上線前進行程式碼 review,以確保程式碼質量,那該如何操作嘞? 其實 IDEA 已經貼心的為我們做好了一切,這裡我將給大家介紹遠端分支比較功能。
右鍵專案根目錄,找到 Git -> Compare with Branch 選項,點選開啟,
此時 IDEA 會顯示專案的所有分支列表,我們從中找到 master 分支,點選即可,
最後 IDEA 會顯示所有的檔案差異在專案左側欄目,我們點選某個檔案即可檢視某個具體差異。
效果如下,
可以看到,透過 IDEA 提供的分支比較功能,為我們進行程式碼 review,提供了非常便利的操作。
總結
其實本文所講解的五個實用技巧不光在 IDEA 裡可以使用,在 PhpStorm、PyCharm 中都是通用的,歡迎大家在瀏覽完本文後實踐體驗下。最後希望本文在日常工作中能夠幫助到大家,感謝閱讀。
關注公眾號【waynblog】每週分享技術乾貨、開源專案、實戰經驗、國外優質文章翻譯等,您的關注將是我的更新動力!