天天看點

IDEA代碼生成插件CodeMaker

java 開發過程中經常會遇到編寫重複代碼的事情,例如說:編寫領域類和持久類的時候,大部分時候它們的變量名稱,類型是一樣的,在編寫領域類的時候常常要重複寫類似的代碼。類似的問題太多,卻沒找到可以支援自定義代碼模闆的插件,隻能自己動手,豐衣足食,開發了一個 idea 的代碼生成插件,通過 velocity 支援自定義代碼模闆來生成代碼。

IDEA代碼生成插件CodeMaker

支援增加自定義代碼模闆(velocity)

支援選擇多個類作為代碼模闆的上下文

打開設定,選擇“plugin”

在右邊的框中點選“install plugin from disk”

選擇上面下載下傳的“codemaker.zip”

點選“apply”,然後重新開機 idea。

在 java 類編輯界面右鍵“generate”,選擇對應模闆即可自動生成代碼到目前類的包,大部分情況下生成的代碼已經解決了百分之八十的問題,隻需稍作修改,移動到合适的包中,就能快速完成代碼編寫。

IDEA代碼生成插件CodeMaker

如果代碼模闆需要除了目前類之外的類作為上下文,可以通過類選擇框進行選擇。

IDEA代碼生成插件CodeMaker

目前自帶的兩個模闆:

model:根據目前類生成一個與其擁有類似屬性的類,用于自動生成持久類對應的領域類(在持久類擁有超過10個屬性的情況下,能夠節省大量時間)。

converter:該模闆需要兩個類作為輸入的上下文,用于自動生成領域類與持久類的轉化類。

上面兩個模闆是我自己工作中常用的模闆,僅供大家參考,自帶的模闆可能滿足不了大家的需求,是以插件支援自定義新的代碼模闆。

IDEA代碼生成插件CodeMaker

增加模闆:點選“add template”後,填寫相關配置(都不能為空),點選儲存後即可生效,無需重新開機。(感謝<code>khotyn</code>提醒)

删除模闆:點選“delete template”就能将該模闆删除

IDEA代碼生成插件CodeMaker

template name:在生成菜單中顯示的名稱,英文命名

class number:該模闆需要的輸入上下文類的數量,例如:如果為 1,,将目前的類作為輸入:<code>$class0</code>;如果為 2,需要使用者再選擇一個類作為輸入:<code>$class0, $class1</code>。

class name:生成的類的名稱,支援通過 velocity 進行配置,上下文為跟代碼模闆的相同。

模闆上下文包含了以下變量:

具體用法可參考自帶的代碼模闆,通過模闆上下文提供的定制能力,可以讓每個使用者都定制自己的風格的代碼模闆。