IDEA代碼生成插件 CodeMaker

前言

Java 開發過程當中常常會遇到編寫重複代碼的事情,例如說:編寫領域類和持久類的時候,大部分時候它們的變量名稱,類型是同樣的,在編寫領域類的時候經常要重複寫相似的代碼。相似的問題太多,卻沒找到能夠支持自定義代碼模板的插件,只能本身動手,豐衣足食,開發了一個 IDEA 的代碼生成插件,經過 Velocity 支持自定義代碼模板來生成代碼。git

項目地址CodeMakergithub

主要功能

  1. 支持增長自定義代碼模板(Velocity)
  2. 支持選擇多個類做爲代碼模板的上下文

安裝

下載插件:CodeMaker.zipbash

  1. 打開設置,選擇「Plugin」
  2. 在右邊的框中點擊「Install plugin from disk」
  3. 選擇上面下載的「CodeMaker.zip」
  4. 點擊「Apply」,而後重啓 IDEA。

使用

在 Java 類編輯界面右鍵「Generate」,選擇對應模板便可自動生成代碼到當前類的包,大部分狀況下生成的代碼已經解決了百分之八十的問題,只需稍做修改,移動到合適的包中,就能快速完成代碼編寫。 spa

若是代碼模板須要除了當前類以外的類做爲上下文,能夠經過類選擇框進行選擇。 插件

目前自帶的兩個模板:code

  1. Model:根據當前類生成一個與其擁有相似屬性的類,用於自動生成持久類對應的領域類(在持久類擁有超過10個屬性的狀況下,可以節省大量時間)。
  2. Converter:該模板須要兩個類做爲輸入的上下文,用於自動生成領域類與持久類的轉化類。

上面兩個模板是我本身工做中經常使用的模板,僅供你們參考,自帶的模板可能知足不了你們的需求,因此插件支持自定義新的代碼模板cdn

模板配置

  1. 增長模板:點擊「Add Template」後,填寫相關配置(都不能爲空),點擊保存後便可生效,無需重啓。(感謝khotyn提醒)
  2. 刪除模板:點擊「Delete Template」就能將該模板刪除

  1. Template Name:在生成菜單中顯示的名稱,英文命名
  2. Class Number:該模板須要的輸入上下文類的數量,例如:若是爲 1,,將當前的類做爲輸入:$class0;若是爲 2,須要用戶再選擇一個類做爲輸入:$class0, $class1
  3. Class Name:生成的類的名稱,支持經過 Velocity 進行配置,上下文爲跟代碼模板的相同。

模板上下文

模板上下文包含了如下變量:blog

########################################################################################
##
## 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)"
##
########################################################################################
複製代碼

具體用法可參考自帶的代碼模板,經過模板上下文提供的定製能力,可讓每一個用戶都定製本身的風格的代碼模板。ip

相關文章
相關標籤/搜索