一. 概念
創建代碼模板進行快速代碼編寫,如sout-->System.out.println();。
如我們經常要寫logger的定義:private static final Logger logger = LoggerFactory.getLogger(MyClass.class);,如果每次都手敲或復制是不是有點繁瑣,這里就可以借用sout這種Live Templates實現快速代碼編寫。用好了這個功能,以后媽媽再也不用擔心我們經常加班了。
二. 設置
Settings-->Editor-->Live Templates...
2.1 編寫模板
- Abbreviation:模板的縮略名稱,如sout;
- Template text:模板的代碼片段,可以用自定義變量。
2.2 自定義變量
這里我們自定義了CLASS變量(使用時需要前后都加上$),但Idea並不識別,這就需要對自定義的變量進行編輯,Edit Variables。
- Name:我們的自定義變量名稱;
- Expression:變量替換表達式,這里我們使用了Idea模板支持的內置函數className()表示類名,更多的內置函數參考:Creating and Editing Template Variables
- Default value:表達式計算失敗時的默認值。
2.3 設置應用范圍
模板代碼設置完后,我們還要設置其應用范圍,即loggerDefineStatic在哪里會生效。
這里,我們選擇loggerDefineStatic在Java的聲明里生效。
OK,到這里,loggerDefineStatic的設置就算完成了,接下來就可以像sout一樣使用了,是不是很帥!
三. 常用模板
3.1 loggerDefineStatic
private static final Logger logger = LoggerFactory.getLogger($CLASS_NAME$.class);
1)CLASS_NAME
className()
3.2 loggerDefineThis
private final Logger logger = LoggerFactory.getLogger(this.getClass());
3.3 logStart
logger.info("op=start_$METHOD_NAME$, $PARAMS_FORMAT$", $PARAMS$);
1)METHOD_NAME
methodName()
2)PARAMS_FORMAT
groovyScript("_1.collect{it+'={}'}.join(',')", methodParameters())
3)PARAMS
groovyScript("_1.collect{it}.join(',')", methodParameters())
3.4 test
@Test public void test() { }
end