大家好,我一航!
日常的業務功能開發,大部份情況下,核心程式碼差不多只占了計畫的20%,剩下的80% 基本就是一些體力活,配置項等;這80%的程式碼,卻消耗了我們大量的時間,而這部份程式碼,也不會對我們帶來大的提升,今天給大家推薦12款我個人常用的優質的外掛程式,旨在快速幫大家完成這80%體力程式碼,將更多的時間投入在核心功能的開發,告別加班,告別996!
1 Easy Code
一個能幫我們快速將表對映成 Spring 計畫中
Entity
、
Controller
、
Dervice
、
Dao
、
Mapper
等檔,快速實作基礎功能的外掛程式
外掛程式安裝
外掛程式中心搜尋
Easy Code
安裝
即可
外掛程式使用
第一步,添加一個資料來源,連線對應的資料庫
第二步
在資料來源中找到對應的表,右鍵選擇
Easy Code
,即可快速生成
2 Easy Javadoc
一鍵快速幫你生成內容、方法、類文件註釋的外掛程式,文件註釋輕松搞定
安裝
外掛程式中心搜尋
Easy Javadoc
外掛程式需要用到線上轉譯,以下是各個平台api key的申請入口,可以根據自己的喜歡,申請對應的key,個人使用的話,每月的免費額度基本都能滿足
有道智雲轉譯申請地址:https://ai.youdao.com/
百度轉譯申請地址:https://api.fanyi.baidu.com/doc/21
騰訊轉譯申請地址:https://cloud.tencent.com/document/product/551/7372
阿裏雲轉譯申請地址:https://www.aliyun.com/product/ai/alimt
微軟轉譯申請地址:https://azure.microsoft.com/
谷歌轉譯(需要魔法)申請地址:https://cloud.google.com/
配置
在
file -> settings -> other settings - EasyDoc
中找到配置界面,分別配置上
轉譯的api key
(必須)、
自訂詞庫對映
(可選)、
樣版資訊
(可選)
win 快捷鍵
快捷鍵 | 作用域 | 說明 |
---|---|---|
ctrl \
| 類、方法、內容(光標放上面就行,不要雙擊選中!) | 生成當前文件註釋 |
ctrl \
| 選中的 中文 | 生成選中的中文的英文命名 |
ctrl \
| 選中的 非中文 | 彈框展示轉譯結果 |
ctrl shift \
| 類 | 生成全部文件註釋 |
mac 快捷鍵
快捷鍵 | 作用域 | 說明 |
---|---|---|
command \
| 類、方法、內容(光標放上面就行,不要雙擊選中!) | 生成當前文件註釋 |
command \
| 選中的 中文 | 生成選中的中文的英文命名 |
command \
| 選中的 非中文 | 彈框展示轉譯結果 |
command shift \
| 類 | 生成全部文件註釋 |
其中 "dashabi" 就使用了自訂"小可愛"的對映
問題說明
不轉譯
按了快捷鍵,只生成了如下的空註釋
/**
*
**/
就是轉譯配置未生效,可以到各個轉譯平台申請一下api key,配置上即可
快捷鍵無效
快捷鍵有可能被其他軟體給占用了,可以在
Settings -> Keymap -> Plug-ins -> Easy Javadoc
中找到並設定一個新的快捷鍵
3 Bito
一款非常實用的智慧化聊天機器人外掛程式,整合了GPT,可以為開發人員提供更快更準確的互動編程環境,不用魔法也能使用,能大大提升開發效率,之前也給大家推薦過,詳細的使用教程可參考:
4 aiXcoder
國內首款基於深度學習的智慧化軟體開發工具,利用AI技術實作程式碼⾃動⽣成、程式碼⾃動補全、程式碼智慧搜尋等功能,提升開發者開發效率與程式碼品質
安裝
使用
開啟雲端服務
這裏需要註冊帳號,登入,按著提示,一步步操作即可
程式碼補全
5 Lombok
Lombok 是一款針對 Java 語言的編譯時外掛程式,用於透過註解自動化生成重復的程式碼,減少一些常規的 Java 程式碼書寫。
依賴
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.18.26</version>
</dependency>
外掛程式
Lombok 不僅需要依賴,還需要安裝對應的外掛程式,在外掛程式中心搜尋 Lombok ,安裝重新開機即可
使用
在使用 Lombok 之前,一個物件的get、set、tostring,構造方法等等,寫起來還是非常麻煩的,一個簡單的物件,就需要寫下面這麽多程式碼:
/**
* @author 公眾號:一行Java
* @title: UserInfo
* @projectName ehang-spring-boot
* @description: TODO
* @date 2023/9/15 9:15
*/
public classUserInfo{
private String userName;
private Integer age;
publicUserInfo(){
}
publicUserInfo(String userName, Integer age){
this.userName = userName;
this.age = age;
}
public String getUserName(){
return userName;
}
publicvoidsetUserName(String userName){
this.userName = userName;
}
public Integer getAge(){
return age;
}
publicvoidsetAge(Integer age){
this.age = age;
}
@Override
publicbooleanequals(Object o){
if (this == o) returntrue;
if (o == null || get class() != o.get class()) returnfalse;
UserInfo userInfo = (UserInfo) o;
returnnew EqualsBuilder()
.append(userName, userInfo.userName)
.append(age, userInfo.age)
.isEquals();
}
@Override
publicinthashCode(){
returnnew HashCodeBuilder(17, 37)
.append(userName)
.append(age)
.toHashCode();
}
@Override
public String toString(){
return"UserInfo{" +
"userName='" + userName + '\'' +
", age=" + age +
'}';
}
}
但一旦引入 Lombok ,這個事情就變的非常簡單,三個註解就能實作上面的所有方法,程式碼也變得非常簡潔,清爽;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
/**
* @author 公眾號:一行Java
* @title: UserInfo
* @projectName ehang-spring-boot
* @description: TODO
* @date 2023/9/15 9:15
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
public classUserInfo{
private String userName;
private Integer age;
}
Lombok 支持的註解及說明
@Getter
/@Setter
: 自動生成欄位的 getter 和 setter 方法。@ToString
: 自動生成 toString 方法。預設情況下,生成包含所有欄位的 toString 方法。@EqualsAndHashcode
: 自動生成 equals 和 hashCode 方法。預設情況下,生成包含所有非靜態、非transient 欄位的 equals 和 hashCode 方法。@NoArgsConstructor
/@RequiredArgsConstructor
/@AllArgsConstructor
: 自動生成無參構造方法、必須參數構造方法、全參構造方法。@Data
: 自動生成 getter、setter、equals、hashCode、toString 方法。@Builder
: 自動生成建造者模式的程式碼,用於建立復雜物件。@Log
: 自動生成日誌記錄變量,支持不同的日誌框架,例如@Slf4j
用於整合 SLF4J。@NoArgsConstructor(force = true)
/@AllArgsConstructor(force = true)
: 自動生成無參構造方法、全參構造方法,並將欄位設定為 final。@Cleanup
: 自動管理資源,主要用於清除需要手動釋放的資源,例如 IO 流。@SneakyThrows
: 在方法體中自動捕捉並重新丟擲異常,無需顯式地進行例外處理。@NonNull
: 生成非空檢查程式碼。@Accessors
: 提供鏈式呼叫風格的 setter 和 getter 方法。@Value
: 建立不可變類,欄位為 final,並自動生成 getter 方法。@Wither
: 自動生成內容的不可變更新方法。@EqualsAndHashCode(callSuper = true)
: 生成包含父類欄位的 equals 和 hashCode 方法。
6 被禁用Lombok
當你所在的公司/團隊禁止使用 Lombok 外掛程式,只允許使用傳統的方式來寫get、set、toString這些基礎方法,有沒有方式能快速生成這些繁瑣的體力活兒呢?IDEA 其實已經幫我們內建了快速生成這些方法的功能;
按下快捷鍵
Alt + Insert
或者在物件中點選滑鼠右鍵,選擇
Generate...
選擇你要生成的內容,就能快速生成對應的方法
7 GsonFormatPlus
一款用於快速將 Json 轉換成 Java 物件的外掛程式;現在的系統,前後端互動,絕大部份都使用了 Json ,因此在解析 Json 的時候,都需要一個物件來接收,使用這塊工具,就可以透過 Json 文本,快速生成一個用於 接收 的 Java 物件,省去了逐個手敲內容的繁瑣體力;
安裝外掛程式
在外掛程式中心搜尋
GsonFormatPlus
,安裝即可;
使用
使用快捷鍵:
Alt + S
或者使用
Alt + Insert
,然後選擇
GsonFormatPlus
又或者,在物件中點選滑鼠右鍵,選擇
Generate
,再選擇
GsonFormatPlus
左側貼上 Json 文本,點選 OK ,選擇要生成的內容,下一步即可完成
8 GenerateAllSetter
一款一鍵呼叫set、get方法的外掛程式;當開發中遇到一個大物件需要初始化,或者要獲取一個大物件中的內容時,就單純是呼叫他的get、set方法,就能讓人寫的人手軟,這款外掛程式就能完美的幫我們解決這個體力活。
外掛程式安裝
外掛程式使用
一鍵呼叫set,get方法
首先,滑鼠的光標放在物件所處的行
然後使用快捷鍵
Alt + Enter
,選擇是生成get還是set,幾個生成,set的生成有兩種方式,一種是不賦值,一種是賦予內容的預設值,可以根據自己的實際情況來定:
一鍵轉換物件
當我們需要做物件轉換時,比如,模型物件轉換成 DTO 物件,也可以借助這個外掛程式一鍵生成
9 String Manipulation
String 是使用最為頻繁的數據型別,String Manipulation 外掛程式能幫我們快速完成 String 的轉換,如:大小寫切換,排序,遞增,轉義,編碼等。還支持對字串的各種加、解密(MD5、Base64等)操作;基本包含了 String 常用的所有操作
安裝
快捷鍵
Alt + m
使用
以下是駝峰命名轉換、加解密、大小寫轉換的範例
還有更多的功能,可以根據自己的需要來選用
10 Restfultoolkit
一套 RESTful 服務開發輔助工具集,完美代替Postman;在 IDEA 中即可完成介面的測試,同時也能快速所搜介面,大大提高我們的檢索,測試效率。
安裝
外掛程式中心搜尋
Restfultoolkit
即可快速安裝
快捷鍵
Ctrl + Alt + N
使用
快速搜尋介面
當有Bug的時候,後端開發人員可能經常需要根據介面名稱/地址來找到介面位置,全域的搜尋
Ctrl + Shift + R
是搜尋的所有內容,要篩選出想要的內容還挺麻煩的;如果是自己寫的程式碼,找起來也還能接受,一旦計畫大,程式碼不熟悉,就如同大海撈針;那麽就可以借助這個工具,來快速搜尋介面,快捷鍵:
Ctrl + Alt + N
介面測試
右側的選單中包含了計畫中的所有介面,可以直接編輯請求物件快速發起介面測試
物件轉Json
前面介紹了如何將 Json 串轉換成 Java 物件,借助這個外掛程式,就能快速將物件轉換成 Json 文本串
11 Key promoter X
當年,從 Eclipse 轉 IDEA 的時候,快捷鍵就是最大的障礙之一;能熟練的使用快捷鍵,將能大大提高編碼的效率;
Key promoter X
就是一款協助記憶快捷鍵的外掛程式
安裝
外掛程式中心搜尋
Key promoter X
即可
效果
當你沒使用快件操作某個功能時,外掛程式就會提醒你其對應的快捷鍵是什麽,日積月累,慢慢記憶
12 Free Mybatis plugin
一款能幫助我們在 MyBatis 中實作 Mapper 與 xml 之間跳轉的外掛程式
安裝
外掛程式中心搜尋
Free Mybatis plugin
使用
熟練運用這12款外掛程式,不出意外,相信大家的開發效率一定會有一個質的飛躍...
>>
END
精品資料,超贊福利,免費領
微信掃碼/長按辨識 添加【技術交流群】
群內每天分享精品學習資料
最近開發整理了一個用於速刷面試題的小程式;其中收錄了上千道常見面試題及答案(包含基礎、並行、JVM、MySQL、Redis、Spring、SpringMVC、SpringBoot、SpringCloud、訊息佇列等多個型別),歡迎您的使用。
👇👇
👇點選"閱讀原文",獲取更多資料(持續更新中)