首頁 > Java > java教程 > 12款idea插件,讓你提升程式設計效率

12款idea插件,讓你提升程式設計效率

青灯夜游
發布: 2022-09-02 11:05:46
轉載
2253 人瀏覽過

這篇文章跟大家聊聊在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" ?>
<!DOCTYPE mapper
        PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.sue.jump.mappers.UserMapper">

    <sql id="selectUserVo">
        id, name, age, sex
     </sql>

    <insert id="insertUser" parameterType="com.sue.jump.model.UserModel">
        INSERT INTO user
        <trim prefix="(" suffix=")" suffixOverrides=",">
            <if test="id != null ">
                id,
            </if>
            <if test="name != null  and name != &#39;&#39;">
                name,
            </if>
            <if test="age != null ">
                age,
            </if>
            <if test="sex != null ">
                sex,
            </if>
        </trim>
        <trim prefix="values (" suffix=")" suffixOverrides=",">
            <if test="id != null ">
                #{id},
            </if>
            <if test="name != null  and name != &#39;&#39;">
                #{name},
            </if>
            <if test="age != null ">
                #{age},
            </if>
            <if test="sex != null ">
                #{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中文網其他相關文章!

相關標籤:
來源:cnblogs.com
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板