IDEA工具第二篇:自定義Java注釋模板


自定義方法注釋模板(類注釋設置簡單,不做分享),網上搜索類似的文章有很多,但是一味的復制粘貼總會出現各種奇葩問題,最后然並卵!今天特意自己研究琢磨一下,將最終結果分享給大家,100%有效可用!!!

首先:IDEA默認注釋

/**+回車 生成,有些人或許喜歡該種方式,有些人則不太喜歡,因人而異

不喜歡的人便開始進行自定義如下設置。。。。

其次:打開IDEA設置選項Settings...(快捷鍵Ctrl + Alt + S)

找到 Editor --> Live Templates --> 點擊右側加號 “+

兩種添加都可以,本人以第一種為例,將組名由user變為自己需要的(我的是MyGroup)

以上6處為需要注意的地方:

①Abbreviation:快捷縮略詞,可以輸入數值、字母、符號,到時配合 /* 使用(依模板內容而定)

②Description:實時模板的說明文字,提示顯示用

③Edit variables:編輯變量按鈕,默認灰色不可編輯,只有④中輸入了帶有 $參數$ 的變量時才會解鎖

④Template text:模板內容,即自定義注釋展示內容

⑤Applicable contexts:應用於哪個位置,由於此次操作為Java,固只在Java前挑勾應用

⑥Options:其他參數,包括格式化、展開方式等

然后:設置相應內容

縮略詞我設置的:jmc

快捷展示我設置的:回車Enter

模板內容為

*
* @description: 一句話描述該方法的作用 $param$
$return$
* @author: admin
* @date: $date$
*/

第一行默認無縮進一個*號,從第二行開始默認縮進一個空格,其中$param$和$return$前面不加*號(因為在具體的參數方法里面已做處理),和其它非第一行*號保持對齊。此處格式一定要使用這種,因為會配合下面的groovy腳本解析使用。若修改該內容,切記同時修改相應的groovy腳本。

 再然后:設置具體variables

由於默認的 methodParameters() 生成的多參數在同一行顯示,且格式為 [參數名1, 參數名2....] 這種風格,此處進行改造自定義groovy腳本

param Expression:

groovyScript("def result=''; def stop=false; def params=\"${_1}\".replaceAll('[\\\\[|\\\\]|\\\\s]', '').split(',').toList(); if (params.size()==1 && (params[0]==null || params[0]=='null' || params[0]=='')) { stop=true; }; if(!stop) { for(i=0; i < params.size(); i++) {if(i==0) result += '\\n'; result +=((i < params.size() - 1) ? ' * @param: ' + params[i] + '\\r\\n' : ' * @param: ' + params[i] + '')}; }; return result;", methodParameters())

展開后邏輯:

由於默認的  methodReturnType()不返回void類型,此處想設置成無返回值也返回@return void

return Expression:

groovyScript("def result=''; def data=\"${_1}\"; def stop=false; if(data==null || data=='null' || data=='' ) { stop=true; }; if(!stop) { result += ' * @return: ' + data; }; return result;", methodReturnType())

展開后邏輯:


如果對日期格式有要求的,可以在Expression列中對date()加參,例如date("yyyy/MM/dd")
 

最后:測試自定義方法注釋

在方法前面輸入/*jmc , 然后按回車Enter即可生成

多個參數且有返回值:

多個參數無返回值:

無參數無返回值:

一個參數無返回值:

 用慣了/**回車,固把縮略詞 jmc 改為 *,這樣就可以像eclipse一樣操作了,嘻嘻^--^!

完美落幕,如果您覺得有幫助,請點個贊;如果您覺得那個地方有不妥之處,請評論區或者私信我,我會在第一時間盡最大努力解決。


免責聲明!

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



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