搜尋
首頁Javajava教程12款idea插件,讓你提升程式設計效率

這篇文章跟大家聊聊在idea中,能提升編碼效率的12種插件,希望對大家有幫助。

1. lombok

#之前對lombok還有爭議,到底該不該在專案中使用,為此我還專門寫了一篇文章《迷惘了,我們該不該用lombok? 》。

現在新版的idea已經內建了lombok插件,所以用它是一種趨勢。

我之所以把lombok放在整篇文章的第一個介紹,是因為它真的可以幫我少寫很多程式碼,特別是entity、DTO、VO、BO中的。

我們用User類別舉例,先前定義javabean需要寫以下程式碼:

public class User {

    private Long id;
    private String name;
    private Integer age;
    private String address;

    public User() {

    }

    public User(Long id, String name, Integer age, String address) {
        this.id = id;
        this.name = name;
        this.age = age;
        this.address = address;
    }

    public Long getId() {
        return id;
    }

    public String getName() {
        return name;
    }

    public Integer getAge() {
        return age;
    }

    public String getAddress() {
        return address;
    }


    public void setId(Long id) {
        this.id = id;
    }

    public void setName(String name) {
        this.name = name;
    }

    public void setAge(Integer age) {
        this.age = age;
    }

    public void setAddress(String address) {
        this.address = address;
    }

    @Override
    public boolean equals(Object o) {
        if (this == o) returntrue;
        if (o == null || getClass() != o.getClass()) returnfalse;
        User user = (User) o;
        return Objects.equals(id, user.id) &&
                Objects.equals(name, user.name) &&
                Objects.equals(age, user.age) &&
                Objects.equals(address, user.address);
    }

    @Override
    public int hashCode() {
        return Objects.hash(id, name, age, address);
    }

    @Override
    public String toString() {
        return"User{" +
                "id=" + id +
                ", name='" + name + '\'' +
                ", age=" + age +
                ", address='" + address + '\'' +
                '}';
    }
}

該User類別中包含了:成員變數、getter/setter方法、建構方法、equals、hashCode方法。

咋一看,程式碼還蠻多的。而且還有個問題,如果User類別中的程式碼修改了,例如:age欄位改成字串類型,或是name欄位名稱修改了,是不是需要同步修改相關的成員變數、getter/setter方法、建構方法、 equals、hashCode方法全都修改一次?

好消息是用lombok可以解決這個問題。

如果是idea2020.3之前的版本,需要在idea中安裝以下插件:


但idea2020.3之後,idea已經內建了lombok的功能。

有了lombok插件,現在我們在idea只用這樣寫程式碼,就能實現上面的功能了:

@ToString
@EqualsAndHashCode
@NoArgsConstructor
@AllArgsConstructor
@Getter
@Setter
public class User {

    private Long id;
    private String name;
    private Integer age;
    private String address;
}

簡直太輕鬆了,真的可以少寫很多程式碼。

此外,我們還需要在專案的pom檔案中,引入lombok的依賴包,不然專案會跑不起來。

2. Free Mybatis plugin

在國內mybatis已經成為了最主流的資料庫框架了,該框架屬於半自動化的ORM持久化框架,相對於hibernate這種全自動化的持久化框架更靈活,性能更高。

mybatis中,我們需要自己定義mapper和對應的xml檔完成綁定。

在這裡我們以使用者表為例,首先需要定義UserMapper介面:

public interface UserMapper {
	 int insertUser(UserModel user);
}

然後需要UserMapper.xml設定檔:

<?xml  version="1.0" encoding="UTF-8" ?>
nbsp;mapper
        PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper>

    <sql>
        id, name, age, sex
     </sql>

    <insert>
        INSERT INTO user
        <trim>
            <if>
                id,
            </if>
            <if>
                name,
            </if>
            <if>
                age,
            </if>
            <if>
                sex,
            </if>
        </trim>
        <trim>
            <if>
                #{id},
            </if>
            <if>
                #{name},
            </if>
            <if>
                #{age},
            </if>
            <if>
                #{sex},
            </if>
        </trim>
    </insert>
</mapper>

UserMapper.xml檔中,mapper標籤的namespace對應UserMapper介面名,而insert標籤的id=insertUser,剛好對應UserMapper介面中的insertUser方法。

那麼,在專案中如何透過UserMapper類別中的getUser方法,能夠快速存取UserMapper.xml檔案中的getUser方法?

答案:這就需要使用Free Mybatis plugin外掛了。

安裝了插件之後,在UserMapper介面的介面名稱和方法名稱的左邊,會多了兩個綠色的箭頭,我們點擊該箭頭,就能跳轉到UserMapper.xml檔案對應的mapper標籤或insertUser語句上。

此外,在UserMapper.xml檔案的insertUser語句的左邊,也會多出一個綠色的箭頭,我們點選該箭頭,也能跳到UserMapper介面的insertUser方法上。

有了這個插件,我們就能在mapper和xml之間自由切換,自由玩耍了,再也不用像以前那樣搜尋來搜尋去。

3.Translation

有些小夥伴,包括我自己可能英文不太好(我英文剛過四級)。

我們在幫變數或方法取名時,要想半天。特別是在閱讀JDK英文文件時,遇到了一些生僻字,簡直是頭大。

有個好消息是使用:Translation插件,能夠讓我們在文件中自由飛翔。

安裝完Translation外掛程式之後,在other settings中多了一個Translation選單。

點選該選單:

在右邊的視窗中,可以選擇翻譯軟體。

選取需要翻譯的英文文件:

在右鍵彈出視窗的視窗中,選擇Translation選項,會彈如下視窗:


一段英文段落,一下子翻譯成了中文,簡直太爽了。

4.Alibaba Java Coding Guidelines

如果你是從事Java開發工作的小夥伴,肯定看過阿里巴巴的《Java開發手冊》。

這本手冊總結了我們在日常開發過程中,可能會遇到的問題。從程式規約、異常日誌、單位測試、安全規約、Mysql資料庫和工程結構,這6大方面,規範了開發的流程,確保我們能寫出高效、優雅的程式碼​​。

但這些規範性的東西,僅僅靠人的自覺性,很難達到預期的效果。

為了解決這個問題,阿里巴巴推出了Alibaba Java Coding Guidelines插件,能夠透過這個插件,直接查出不合規範的程式碼。

安裝了插件之後,按下快速鍵:Ctrl Alt Shift J,可以可對整個專案或單一檔案進行編碼規則掃描。

掃描後會將不規範的程式碼按從高到低。

目前有三個等級顯示在下面:

  • Blocker 崩潰
  • #Critical 嚴重
  • Major 重要

##點選左邊其中一個不規範的程式碼行,右邊視窗會立刻顯示不規範的詳細程式碼,方便我們快速定位問題。

nice。

5. GenerateAllSetter

很多時候,我們需要給某個物件賦值,如果參數比較多的話,需要手寫大量的

setter

或者

getter程式碼。

有沒有辦法一鍵搞定呢?

答案:有,使用GenerateAllSetter

外掛程式。

安裝完外掛程式之後,在建立的物件上,按快捷鍵下:

alt enter

在彈出的視窗中選擇:Generate all setter with default value。

就會自動產生如下程式碼:

#簡直太方便了。

6. SequenceDiagram

我們平常在閱讀原始碼時,為了梳理清楚內部邏輯,經常需要畫一些

時序圖

如果我們直接畫,會浪費很多時間,而且畫的圖不一定正確。

這時可以使用:

SequenceDiagram外掛程式。

選擇具體某個方法,右鍵選擇:sequence diagram選項:

之後,會出現時序圖:

從此以後,能夠成為畫圖高手了,完美。

7. CheckStyle-IDEA

在程式碼格式方面,有許多地方,需要我們注意,例如:無用導入、沒寫註解、文法錯誤、方法太長等等。

有沒有辦法,可以在idea中,一次檢測出上面的這些問題呢?

答案:使用

CheckStyle-IDEA

外掛程式。

CheckStyle-IDEA

是一個偵測程式碼格式是否符合規範的工具,其中用得比較多的是Google

規格和###Sun###規範。 ###############安裝完外掛後,在idea的下方會出現:CheckStyle選項:###############點擊左邊的綠色按鈕,可以掃描代碼。在中間位置,會顯示不符合代碼規範的原因。 ######雙擊程式碼,即可直接跳到具體程式碼:############

8.JRebel and XRebel

在idea中開發Java項目,有個很不爽的地方是:每次修改一個類別或接口,都需要重啟服務,否則不會運行最新地方。

而每次重啟,都需要花費大量的時間。

有沒有辦法,Java程式碼修改後不用重新啟動系統,立即生效呢?

答案:使用JRebel and XRebel外掛程式。

如圖:

安裝完成之後,這裡會有兩個綠色的按鈕,右邊多了一個選項Select Rebel Agents:


其中一個綠色的按鈕,表示熱部署啟動項目,另外一個表示用debug預設熱部署啟動項目。

Select Rebel Agents選項包含三個值:

  • JRebel:修改完程式碼,不重新啟動服務,期望程式碼直接生效。
  • XRebel:請求過程中,各個部分程式碼效能監控。例如:方法執行時間,出現的異常,SQL執行時間,輸出的Log,MQ執行時間等。
  • JRebel XRebel:修改完程式碼,不重新啟動服務,並且監控程式碼。

9. Codota

說實話,idea現有的程式碼提示功能,已經很強大了。

但如果你使用過Codota插件,它會讓你寫程式碼的速度更上一層樓。

安裝完外掛程式之後,我們在寫程式碼時,它會給你一些提示:


這些提示是基於ai統計出來的,非常有參考價值。

10. GsonFormat

很多時候,我需要把json中的參數,轉換成實體物件中的參數。或把實體物件中的參數,轉換成json中的參數。

以前我們都是手動一個變量,一個變數的拷貝的。

但現在有個好消息是,idea的GsonFormat外掛可以幫我們完成這件事。

安裝完外掛後,先建立一個空類別:

#按下快速鍵:alt s,會彈出下面這個視窗:

然後在該視窗中,輸入json資料。

點擊確定按鈕,就會自動產生這些程式碼:


簡直帥呆了。

11. Rainbow Brackets

我們平常寫程式碼的時候,括號是讓我們非常頭痛的地方,特別是程式碼邏輯很多,層層嵌套的情況。

一眼很難看出,程式碼是從哪個括號開始,到哪個反括號結束的。

有沒有辦法解決這個問題呢?

答案:使用Rainbow Brackets外掛程式。


安裝完外掛後,括號和反括號,在程式碼中會自動依照不同顏色做區分:

非常顯目,非常直覺。

12. CodeGlance

有些時候,我們閱讀的程式碼很多,像是某個類別中包含的方法和成員變數很多。

從上往下,一點點往下翻,會浪費很多時間。那麼有沒有辦法,能夠快速翻到想看的程式碼呢?

答案:有,可以使用CodeGlance外掛程式。

安裝完外掛程式之後,在程式碼右側,會出現下面這個視窗:

##它是程式碼的縮圖,通過它我們能夠非常快速的切換程式碼區塊。

最後說一句(求關注,別白嫖我)

如果這篇文章對您有所幫助,或者有所啟發的話,幫忙掃描下發二維碼關註一下,您的支持是我堅持寫作最大的動力。
求一鍵三連:按讚、轉發、在看。
追蹤公眾號:【蘇三說技術】,在公眾號中回覆:面試、代碼神器、開發手冊、時間管理有超讚的粉絲福利,另外回覆:加群,可以跟很多BAT大廠的前輩交流和學習。

(學習影片分享:程式設計基礎影片

以上是12款idea插件,讓你提升程式設計效率的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述
本文轉載於:博客园。如有侵權,請聯絡admin@php.cn刪除
如何將Maven或Gradle用於高級Java項目管理,構建自動化和依賴性解決方案?如何將Maven或Gradle用於高級Java項目管理,構建自動化和依賴性解決方案?Mar 17, 2025 pm 05:46 PM

本文討論了使用Maven和Gradle進行Java項目管理,構建自動化和依賴性解決方案,以比較其方法和優化策略。

如何使用適當的版本控制和依賴項管理創建和使用自定義Java庫(JAR文件)?如何使用適當的版本控制和依賴項管理創建和使用自定義Java庫(JAR文件)?Mar 17, 2025 pm 05:45 PM

本文使用Maven和Gradle之類的工具討論了具有適當的版本控制和依賴關係管理的自定義Java庫(JAR文件)的創建和使用。

如何使用咖啡因或Guava Cache等庫在Java應用程序中實現多層緩存?如何使用咖啡因或Guava Cache等庫在Java應用程序中實現多層緩存?Mar 17, 2025 pm 05:44 PM

本文討論了使用咖啡因和Guava緩存在Java中實施多層緩存以提高應用程序性能。它涵蓋設置,集成和績效優勢,以及配置和驅逐政策管理最佳PRA

如何將JPA(Java持久性API)用於具有高級功能(例如緩存和懶惰加載)的對象相關映射?如何將JPA(Java持久性API)用於具有高級功能(例如緩存和懶惰加載)的對象相關映射?Mar 17, 2025 pm 05:43 PM

本文討論了使用JPA進行對象相關映射,並具有高級功能,例如緩存和懶惰加載。它涵蓋了設置,實體映射和優化性能的最佳實踐,同時突出潛在的陷阱。[159個字符]

Java的類負載機制如何起作用,包括不同的類載荷及其委託模型?Java的類負載機制如何起作用,包括不同的類載荷及其委託模型?Mar 17, 2025 pm 05:35 PM

Java的類上載涉及使用帶有引導,擴展程序和應用程序類負載器的分層系統加載,鏈接和初始化類。父代授權模型確保首先加載核心類別,從而影響自定義類LOA

See all articles

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

AI Hentai Generator

AI Hentai Generator

免費產生 AI 無盡。

熱門文章

R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
3 週前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳圖形設置
3 週前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您聽不到任何人,如何修復音頻
3 週前By尊渡假赌尊渡假赌尊渡假赌
WWE 2K25:如何解鎖Myrise中的所有內容
3 週前By尊渡假赌尊渡假赌尊渡假赌

熱工具

Atom編輯器mac版下載

Atom編輯器mac版下載

最受歡迎的的開源編輯器

MantisBT

MantisBT

Mantis是一個易於部署的基於Web的缺陷追蹤工具,用於幫助產品缺陷追蹤。它需要PHP、MySQL和一個Web伺服器。請查看我們的演示和託管服務。

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

強大的PHP整合開發環境

EditPlus 中文破解版

EditPlus 中文破解版

體積小,語法高亮,不支援程式碼提示功能

SecLists

SecLists

SecLists是最終安全測試人員的伙伴。它是一個包含各種類型清單的集合,這些清單在安全評估過程中經常使用,而且都在一個地方。 SecLists透過方便地提供安全測試人員可能需要的所有列表,幫助提高安全測試的效率和生產力。清單類型包括使用者名稱、密碼、URL、模糊測試有效載荷、敏感資料模式、Web shell等等。測試人員只需將此儲存庫拉到新的測試機上,他就可以存取所需的每種類型的清單。