Stories

Detail Return Return

五個很實用的IDEA使用技巧 - Stories Detail

日常開發中,相信廣大 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】每週分享技術乾貨、開源項目、實戰經驗、國外優質文章翻譯等,您的關注將是我的更新動力!

Add a new Comments

Some HTML is okay.