站長資訊網
        最全最豐富的資訊網站

        12款idea插件,讓你提升編碼效率

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

        12款idea插件,讓你提升編碼效率

        java一鍵拖拽布局生成代碼:立即使用

        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中安裝如下插件:

        12款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 != ''">                 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 != ''">                 #{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插件了。

        12款idea插件,讓你提升編碼效率

        安裝了該插件之后,在UserMapper接口的接口名和方法名的左邊,會多了兩個綠色的箭頭,我們點擊該箭頭,就能跳轉到UserMapper.xml文件對應的mapper標簽或者insertUser語句上。

        12款idea插件,讓你提升編碼效率

        此外,在UserMapper.xml文件的insertUser語句的左邊,也會多出一個綠色的箭頭,我們點擊該箭頭,也能跳轉到UserMapper接口的insertUser方法上。

        12款idea插件,讓你提升編碼效率

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

        3.Translation

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

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

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

        12款idea插件,讓你提升編碼效率

        安裝完Translation插件之后,在other settings中多了一個Translation菜單。

        點擊該菜單:

        12款idea插件,讓你提升編碼效率

        在右邊的窗口中,可以選擇翻譯軟件。

        選中需要翻譯的英文文檔:

        12款idea插件,讓你提升編碼效率

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

        12款idea插件,讓你提升編碼效率
        一段英文段落,一下子翻譯成了中文,簡直太爽了。

        4.Alibaba Java Coding Guidelines

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

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

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

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

        12款idea插件,讓你提升編碼效率

        安裝了該插件之后,按下快捷鍵:Ctrl+Alt+Shift+J,可以可對整個項目或單個文件進行編碼規約掃描。

        12款idea插件,讓你提升編碼效率

        掃描后會將不規范的代碼按從高到低。

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

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

        12款idea插件,讓你提升編碼效率

        點擊左邊其中一個不規范的代碼行,右邊窗口會立刻顯示不規范的詳細代碼,便于我們快速定位問題。

        nice。

        5. GenerateAllSetter

        很多時候,我們需要給某個對象賦值,如果參數比較多的話,需要手寫大量的setter或者getter代碼。

        有沒有辦法一鍵搞定呢?

        答:有,使用GenerateAllSetter插件。

        12款idea插件,讓你提升編碼效率

        安裝完插件之后,在創建的對象上,按快捷鍵下:alt + enter

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

        12款idea插件,讓你提升編碼效率

        就會自動生成如下代碼:

        12款idea插件,讓你提升編碼效率

        簡直太方便了。

        6. SequenceDiagram

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

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

        這時可以使用:SequenceDiagram插件。

        12款idea插件,讓你提升編碼效率

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

        12款idea插件,讓你提升編碼效率

        之后,會出現時序圖:

        12款idea插件,讓你提升編碼效率

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

        7. CheckStyle-IDEA

        在代碼格式方面,有許多地方,需要我們注意,比如:無用導入、沒寫注釋、語法錯誤、方法太長等等。

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

        答:使用CheckStyle-IDEA插件。

        CheckStyle-IDEA是一個檢測代碼格式是否滿足規范的工具,其中用得比較多的是Google規范和Sun規范。

        12款idea插件,讓你提升編碼效率

        安裝完插件后,在idea的下方會出現:CheckStyle選項:

        12款idea插件,讓你提升編碼效率

        點擊左邊的綠色按鈕,可以掃描代碼。在中間位置,會顯示不符合代碼規范的原因。

        雙擊代碼,即可直接跳轉到具體代碼:

        12款idea插件,讓你提升編碼效率

        8.JRebel and XRebel

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

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

        有沒有辦法,Java代碼修改后不用重啟系統,立即生效呢?

        答:使用JRebel and XRebel插件。

        如圖:

        12款idea插件,讓你提升編碼效率

        安裝完成之后,這里會有兩個綠色的按鈕,并且在右邊多了一個選項Select Rebel Agents:

        12款idea插件,讓你提升編碼效率
        其中一個綠色的按鈕,表示熱部署啟動項目,另外一個表示用debug默認熱部署啟動項目。

        Select Rebel Agents選項中包含三個值:

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

        9. Codota

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

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

        12款idea插件,讓你提升編碼效率

        安裝完插件之后,我們在寫代碼時,它會給你一些提示:

        12款idea插件,讓你提升編碼效率
        這些提示是基于ai統計出來的,非常有參考價值。

        10. GsonFormat

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

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

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

        12款idea插件,讓你提升編碼效率

        安裝完插件之后,先創建一個空類:

        12款idea插件,讓你提升編碼效率

        按下快捷鍵:alt + s,會彈出下面這個窗口:

        12款idea插件,讓你提升編碼效率

        然后在該窗口中,錄入json數據。

        點擊確定按鈕,就會自動生成這些代碼:

        12款idea插件,讓你提升編碼效率
        簡直帥呆了。

        11. Rainbow Brackets

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

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

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

        答:使用Rainbow Brackets插件。

        12款idea插件,讓你提升編碼效率
        安裝完插件之后,括號和反括號,在代碼中會自動按照不同顏色做區分:
        12款idea插件,讓你提升編碼效率
        非常顯目,非常直觀。

        12. CodeGlance

        有些時候,我們閱讀的代碼很多,比如某個類中包含的方法和成員變量很多。

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

        答:有,可以使用CodeGlance插件。

        12款idea插件,讓你提升編碼效率

        安裝完插件之后,在代碼右側,會出現下面這個窗口:

        12款idea插件,讓你提升編碼效率
        它是代碼的縮略圖,通過它我們能夠非常快速的切換代碼塊。

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

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

        (學習視頻分享:編程基礎視頻)

        贊(0)
        分享到: 更多 (0)
        網站地圖   滬ICP備18035694號-2    滬公網安備31011702889846號
        主站蜘蛛池模板: 亚洲国产精品狼友中文久久久| 日韩精品一区二区三区不卡| 精品无码三级在线观看视频| 午夜天堂精品久久久久| 亚洲精品免费在线观看| 无码人妻精品一区二区| 国产精品免费一区二区三区| 久久精品国产亚洲av日韩| 久久成人精品| 久久久久国产精品| 精品国精品国产自在久国产应用| 久久激情亚洲精品无码?V| 99久久99久久精品国产片果冻| 国产乱码精品一品二品| 欲帝精品福利视频导航| 久久97久久97精品免视看秋霞| 2024国产精品极品色在线| 囯产精品一品二区三区| 色偷偷88888欧美精品久久久 | 国产午夜福利精品一区二区三区| 久久精品一区二区影院| 2048亚洲精品国产| 亚洲AV永久无码精品水牛影视| 国产区精品福利在线观看精品| 久久久精品国产sm调教网站| 欧美日韩精品一区二区在线播放| 国产精品美女久久久久| 国产精品H片在线播放| 欧美亚洲国产成人精品| 91老司机深夜福利精品视频在线观看| 亚洲国产精品无码久久久久久曰| 国产乱人伦偷精品视频 | 亚洲精品人成在线观看| 国产亚洲精品美女久久久| 亚洲国产精品无码专区在线观看 | 精品久久久久久国产潘金莲| 亚洲国产精品自产在线播放| 精品乱子伦一区二区三区 | 亚洲精品乱码久久久久久 | 麻豆精品成人免费国产片| 97久久超碰国产精品旧版|