idea中使用Live Template自動生成方法所有參數打印


一 新建模板

二 設置代碼模板

三 設置變量

表達式是支持groovy腳本的,所以這里寫一個groovy腳本,生成給定格式的日志字符串,methodParameters()是idea內置的函數,獲取方法參數名字的數組:

[param1,param2] 所以先把[ ]去掉,因為這里是一個groovy字符串,本來就是正則字符串,里面是正則轉化成腳本后還是正則
所以需要兩次轉化,\\代表\,字符串里轉義[ ]的話需要\[和 \], 一個\在字符串里需要兩個\\,所以就是四個
然后轉成集合,拼接就行了,腳本:

groovyScript("
def result=''; 
def params=\"${_1}\".replaceAll('[\\\\[|\\\\]|\\\\s]', '').split(',').toList(); 
for(i = 0; i < params.size(); i++) {
  result+='\"'+params[i] +':\"+'+params[i]+ ((i < params.size() - 1) ? '+\",\"+' : '')
};
return result", methodParameters()) 

四 測試

方法里面直接打ld,按tab就可以生成了:

 

 

 

 注意: 集合的話需要重寫toString方法,也可以使用JSon》toString

 

如果是用Strin.format那種,可以定義三個參數:

log.info("$desc$,$params1$",$params2$);

parmas1:

 

groovyScript(" def result=''; def params=\"${_1}\".replaceAll('[\\\\[|\\\\]|\\\\s]', '').split(',').toList(); for(i = 0; i < params.size(); i++) {     result+=''+params[i]+':{}'+ ((i < params.size() - 1) ? ',' : '') }; return result", methodParameters())

 

params2:

 

groovyScript(" def result=''; def params=\"${_1}\".replaceAll('[\\\\[|\\\\]|\\\\s]', '').split(',').toList(); for(i = 0; i < params.size(); i++) {     result+=params[i]+ ((i < params.size() - 1) ? ',' : '') }; return result", methodParameters())

 

 

效果:

 

log.info("查詢客服坐席列表,page:{},size:{},keyword:{}",page,size,keyword);

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM