IDEA自定義模板
阿新 • • 發佈:2018-12-19
原文:https://github.com/caojx-git/learn/tree/master/notes/idea
IDEA可以自定義符合自己風格的模板註釋,比如說 類模板註釋、方法模板註釋、屬性模板註釋或定製一些快捷生成程式碼操作等
一、IDEA類模板配置
1.1 Class程式碼模板設定
File -> Setting -> Editor -> File and Code Templates -> Templates Class
/**
* \$Id: ${NAME}.java,v 1.0 ${DATE} ${TIME} caojx
*
* @Copyright (c) ${DATE}, xxx All Rights Reserved.
*/
#if (${PACKAGE_NAME} && ${PACKAGE_NAME} != "")package ${PACKAGE_NAME};#end
/**
* 類註釋,描述 //TODO
*
* @author caojx
* @version \$Id: ${NAME}.java,v 1.0 ${DATE} ${TIME} caojx
* @date ${DATE} ${TIME}
*/
public class ${NAME} {
}
設定後新建Class的效果
/**
* $Id: Test.java,v 1.0 2018/7/13 下午3:22 caojx
*
* @Copyright (c) 2018/7/13, xxx All Rights Reserved.
*/
package com.lianjia.cto.ke.model;
/**
* 類註釋,描述 //TODO
* @author caojx
* @version $Id: Test.java,v 1.0 2018/7/13 下午3:22 caojx
* @date 2018/7/13 下午3:22
*/
public class Test {
}
1.2 Interface程式碼模板設定
/**
* \$Id: ${NAME}.java,v 1.0 ${DATE} ${TIME} caojx
*
* @Copyright (c) ${DATE}, xxx All Rights Reserved.
*/
#if (${PACKAGE_NAME} && ${PACKAGE_NAME} != "")package ${PACKAGE_NAME};#end
/**
* 類註釋,描述 //TODO
*
* @author caojx
* @version \$Id: ${NAME}.java,v 1.0 ${DATE} ${TIME} caojx
* @date ${DATE} ${TIME}
*/
public interface ${NAME} {
}
1.3 Enum程式碼模板設定
/**
* \$Id: ${NAME}.java,v 1.0 ${DATE} ${TIME} caojx
*
* @Copyright (c) ${DATE}, xxx All Rights Reserved.
*/
#if (${PACKAGE_NAME} && ${PACKAGE_NAME} != "")package ${PACKAGE_NAME};#end
/**
* 類註釋,描述
*
* @author caojx
* @version \$Id: ${NAME}.java,v 1.0 ${DATE} ${TIME} caojx
* @date ${DATE} ${TIME}
*/
public enum ${NAME} {
}
二、IDEA方法模板配置
參考文章:
2. 1 配置註釋模板
File–>Settings–>Editor–>Live Templates–>Template Group 自定義
File–>Settings–>Editor–>Live Templates–>Template Group Live Template
2.2 設定應用場景
注意:應用場景要先設定,要先於 2.3 2.4
2.3 編寫自定義方法註釋
注意: 註釋只能以 * 開頭,不能以 /** 開頭, 生成的時候可以使用 /** + Tab 鍵生成
2.4 設定相關變數的表示式
對於方法引數的表示式IDEA提供了自帶的methodParamters(),但是生成的效果可能不是我們想要的,我們可以換成Groovy指令碼
groovyScript("def result=''; def params=\"${_1}\".replaceAll('[\\\\[|\\\\]|\\\\s]', '').split(',').toList(); for(i = 1; i < params.size() +1; i++) {result+='* @param ' + params[i - 1] + ' ' + ((i < params.size()) ? '\\n ' : '')}; return result", methodParameters())
2.5 生成案例
groovy 指令碼生成的引數風格
/**
* @author caojx
* @description //TODO
* @date 2018/11/7 11:52 AM
* @param age
* @param name
* @return void
**/
public void test(String age, String name) {
}
methodParamters() 自帶模式生成的引數風格,自行嘗試一下,風格大概如下
/**
* @author caojx
* @description //TODO
* @date 2018/11/7 12:49 PM
* @params [age, name]
* @return void
**/
public void test(String age, String name) {
}
三、其他
3.1 新增main方法快捷模板