在idea中,能提升編碼效率的12種外掛,你知道幾個?

在idea中,能提升編碼效率的12種外掛,你知道幾個?

前言

基本上每個程式設計師都會寫程式碼,但寫程式碼的速度不盡相同。

為什麼有些人,一天只能寫幾百行程式碼?

而有些人,一天可以寫幾千行程式碼?

有沒有辦法,可以提升開發效率,在相同的時間內,寫出更多的程式碼呢?

今天我跟大家一起聊聊在idea中,能提升編碼效率的12種外掛,希望對大家有所幫助。

在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中安裝如下外掛:

在idea中,能提升編碼效率的12種外掛,你知道幾個?

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

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

@ToString@EqualsAndHashCode@NoArgsConstructor@AllArgsConstructor@Getter@Setterpublic 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”> id, name, age, sex INSERT INTO user id, name, age, sex, #{id}, #{name}, #{age}, #{sex},

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

那麼,在專案中如何透過UserMapper類中的getUser方法,能夠快速訪問UserMapper。xml檔案中的getUser方法?

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

在idea中,能提升編碼效率的12種外掛,你知道幾個?

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

在idea中,能提升編碼效率的12種外掛,你知道幾個?

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

在idea中,能提升編碼效率的12種外掛,你知道幾個?

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

3、Translation

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

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

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

在idea中,能提升編碼效率的12種外掛,你知道幾個?

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

點選該選單:

在idea中,能提升編碼效率的12種外掛,你知道幾個?

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

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

在idea中,能提升編碼效率的12種外掛,你知道幾個?

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

在idea中,能提升編碼效率的12種外掛,你知道幾個?

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

4、Alibaba Java Coding Guidelines

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

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

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

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

在idea中,能提升編碼效率的12種外掛,你知道幾個?

安裝了該外掛之後,按下快捷鍵:Ctrl+Alt+Shift+J,可以可對整個專案或單個檔案進行編碼規約掃描。

在idea中,能提升編碼效率的12種外掛,你知道幾個?

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

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

Blocker 崩潰

Critical 嚴重

Major 重要

在idea中,能提升編碼效率的12種外掛,你知道幾個?

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

5、GenerateAllSetter

很多時候,我們需要給某個物件賦值,如果引數比較多的話,需要手寫大量的setter或者getter程式碼。

有沒有辦法一鍵搞定呢?

答:有,使用GenerateAllSetter外掛。

在idea中,能提升編碼效率的12種外掛,你知道幾個?

安裝完外掛之後,在建立的物件上,按快捷鍵下:alt + enter。

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

在idea中,能提升編碼效率的12種外掛,你知道幾個?

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

在idea中,能提升編碼效率的12種外掛,你知道幾個?

簡直太方便了。

6、SequenceDiagram

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

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

這時可以使用:SequenceDiagram外掛。

在idea中,能提升編碼效率的12種外掛,你知道幾個?

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

在idea中,能提升編碼效率的12種外掛,你知道幾個?

之後,會出現時序圖:

在idea中,能提升編碼效率的12種外掛,你知道幾個?

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

7、CheckStyle-IDEA

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

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

答:使用CheckStyle-IDEA外掛。

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

在idea中,能提升編碼效率的12種外掛,你知道幾個?

安裝完外掛後,在idea的下方會出現:CheckStyle選項:

在idea中,能提升編碼效率的12種外掛,你知道幾個?

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

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

在idea中,能提升編碼效率的12種外掛,你知道幾個?

8、JRebel and XRebel

在idea中開發Java專案,有個很不爽的地方是:每次修改一個類或者介面,都需要重啟服務,否則不會執行最新地方。

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

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

答:使用JRebel and XRebel外掛。

如圖:

在idea中,能提升編碼效率的12種外掛,你知道幾個?

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

在idea中,能提升編碼效率的12種外掛,你知道幾個?

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

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

JRebel:修改完程式碼,不重啟服務,期望程式碼直接生效。

XRebel:請求過程中,各個部分程式碼效能監控。例如:方法執行時間,出現的異常,SQL執行時間,輸出的Log,MQ執行時間等。

JRebel+XRebel:修改完程式碼,不重啟服務,並且監控程式碼。

9、Codota

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

但如果你使用過​

​Codota​

​外掛,它會讓你寫程式碼的速度更上一層樓。

在idea中,能提升編碼效率的12種外掛,你知道幾個?

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

在idea中,能提升編碼效率的12種外掛,你知道幾個?

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

10、GsonFormat

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

以前我們都是手動一個變數,一個變數的複製的。

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

在idea中,能提升編碼效率的12種外掛,你知道幾個?

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

在idea中,能提升編碼效率的12種外掛,你知道幾個?

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

在idea中,能提升編碼效率的12種外掛,你知道幾個?

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

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

在idea中,能提升編碼效率的12種外掛,你知道幾個?

簡直帥呆了。

11、Rainbow Brackets

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

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

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

答:使用Rainbow Brackets外掛。

在idea中,能提升編碼效率的12種外掛,你知道幾個?

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

在idea中,能提升編碼效率的12種外掛,你知道幾個?

非常顯目,非常直觀。

12、CodeGlance

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

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

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

在idea中,能提升編碼效率的12種外掛,你知道幾個?

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

在idea中,能提升編碼效率的12種外掛,你知道幾個?

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