歡迎光臨
每天分享高質量文章

IDEA 程式碼生成外掛 CodeMaker

(點選上方公眾號,可快速關註)


來源:肖漢松 ,

blog.xiaohansong.com/2017/02/03/codemaker/

前言

Java 開發過程中經常會遇到編寫重覆程式碼的事情,例如說:編寫領域類和持久類的時候,大部分時候它們的變數名稱,型別是一樣的,在編寫領域類的時候常常要重覆寫類似的程式碼。類似的問題太多,卻沒找到可以支援自定義程式碼模板的外掛,只能自己動手,豐衣足食,開發了一個 IDEA 的程式碼生成外掛,透過 Velocity 支援自定義程式碼模板來生成程式碼。

專案地址:CodeMaker

https://github.com/x-hansong/CodeMaker

主要功能

支援增加自定義程式碼模板(Velocity)

支援選擇多個類作為程式碼模板的背景關係

安裝

下載外掛:CodeMaker.zip

https://github.com/x-hansong/CodeMaker/releases/download/1.0/CodeMaker.zip

  1. 開啟設定,選擇“Plugin”

  2. 在右邊的框中點選“Install plugin from disk”

  3. 選擇上面下載的“CodeMaker.zip”

  4. 點選“Apply”,然後重啟 IDEA。

使用

在 Java 類編輯介面右鍵“Generate”,選擇對應模板即可自動生成程式碼到當前類的包,大部分情況下生成的程式碼已經解決了百分之八十的問題,只需稍作修改,移動到合適的包中,就能快速完成程式碼編寫。

如果程式碼模板需要除了當前類之外的類作為背景關係,可以透過類選擇框進行選擇。

目前自帶的兩個模板:

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

  2. Converter:該模板需要兩個類作為輸入的背景關係,用於自動生成領域類與持久類的轉化類。

上面兩個模板是我自己工作中常用的模板,僅供大家參考,自帶的模板可能滿足不了大家的需求,所以外掛支援自定義新的程式碼模板。

模板配置

  1. 增加模板:點選“Add Template”後,填寫相關配置(都不能為空),點選儲存後即可生效,無需重啟。(感謝khotyn提醒)

  2. 刪除模板:點選“Delete Template”就能將該模板刪除

  1. Template Name:在生成選單中顯示的名稱,英文命名

  2. Class Number:該模板需要的輸入背景關係類的數量,例如:如果為 1,,將當前的類作為輸入:$class0;如果為 2,需要使用者再選擇一個類作為輸入:$class0, $class1。

  3. Class Name:生成的類的名稱,支援透過 Velocity 進行配置,背景關係為跟程式碼模板的相同。

模板背景關係

模板背景關係包含了以下變數:

########################################################################################

##

## Common variables:

##  $YEAR – yyyy

##  $TIME – yyyy-MM-dd HH:mm:ss

##  $USER – user.name

##

## Available variables:

##  $class0 – the context class

##  $class1 – the selected class, like $class2, $class2

##  $ClassName – generate by the config of “Class Name”, the generated class name

##

## Class Entry Structure:

##  $class0.className – the class Name

##  $class0.packageName – the packageName

##  $class0.importList – the list of imported classes name

##  $class0.fields – the list of the class fields

##          – type: the field type

##          – name: the field name

##          – modifier: the field modifier, like “private”

##  $class0.methods – the list of class methods

##          – name: the method name

##          – modifier: the method modifier, like “private static”

##          – returnType: the method returnType

##          – params: the method params, like “(String name)”

##

########################################################################################

具體用法可參考自帶的程式碼模板,透過模板背景關係提供的定製能力,可以讓每個使用者都定製自己的風格的程式碼模板。

【關於投稿】


如果大家有原創好文投稿,請直接給公號傳送留言。


① 留言格式:
【投稿】+《 文章標題》+ 文章連結

② 示例:
【投稿】《不要自稱是程式員,我十多年的 IT 職場總結》:http://blog.jobbole.com/94148/

③ 最後請附上您的個人簡介哈~



看完本文有收穫?請轉發分享給更多人

關註「ImportNew」,提升Java技能

贊(0)

分享創造快樂