IDEA中設置注釋模板的方法


  IDEA中設置注釋模板主要分為兩個部分,分別是創建java文件時類的注釋和方法的注釋。

  這里為大家詳細介紹一下方法,按MyEclipse的風格設置(MyEclipse的請看:MyEclipse中設置注釋模板的方法),大家可以根據自己的習慣生成自己喜歡的注釋模板。效果如下:

 

 

一、設置類的注釋模板

1、選擇File→Settings→Editor→File and Code Templates→Files→Class。可以看到創建Class時引入了一個參數"File Header.java"。對應的是Files旁邊的Includes→File Header文件。

 

2、File Header里就是創建類時的注釋模板,下面Description中有描述一些可以配置的參數,可以根據自己需要選用。

 

二、設置方法的注釋模板

1、選擇File→Settings→Editor→Live Templates。點擊右邊的加號,選擇Template Group,創建一個分組。

 

2、再點擊加號,選擇Live Template,創建一個模板。其中:

Abbreviation:填模板的縮寫,可以使用*號作為代號,方便后面調用模板。

Options→Expand with:填注釋模板的擴展快捷鍵,根據使用習慣,這里使用默認的Tab。

Template text:填寫注釋模板的內容。參數名使用${參數名}$的格式。(注意:注釋模板開頭的/不要填寫,原因可以看文章末尾的解釋)

 
        

 

3、點擊模板頁面最下方的警告define,來設置將模板應用於哪些場景,選擇Everywhere-->Java即可。(如果曾經修改過,則顯示為change而不是define,如上圖)

 

4、然后點擊Edit variables,會讀取剛剛在注釋模板中的配置的參數${參數名}$。在Expression的下拉框中選擇方法為其賦值。

 

5、參數賦值優化

(1)如果param參數使用默認的methodParameters()來獲取方法參數值,其注釋參數是在一行展示的,如下圖。這里我們希望像MyEclipse中一樣,一行一個參數的樣式,可以通過腳本來實現。將以下腳本復制進Expression,可以得到文章開頭效果圖的樣式:

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

 

(2)如果return參數使用默認的methodReturnType()來獲取參數值,模板里使用了@link來跳轉結果類型,那么當方法返回值為void時,注釋會報錯,如下圖。可以通過腳本來避免,將上面模板中的@link參數去掉,將以下腳本復制進Expression:

groovyScript("def result=\"${_1}\"; if(result == \"void\"){return \"\";}else{return \"{@link \"+result+\"}\";}", methodReturnType())

 

6、注釋模板的調用。通過輸入 / + * + Tab鍵,即先輸 /* 再按Tab鍵,就可以調用模板。因為剛剛我們把*被設置為模板的代號,Tab鍵設置為模板的擴展快捷鍵,也可以把Tab改為Enter鍵,更加還原MyEclipse。

 

PS:(1)注意,注釋模板開頭不要使用/,因為設置后雖然可以更便捷的使用 * + Tab鍵,調用模板。但是會存在param為null的情況(原因暫時未知),如下圖,需要在方法內調用才能獲取參數,但這樣還需要將注釋復制到方法外反而使用不便。

 

(2)注釋模板中的user參數是獲取系統的用戶(當然注釋作者也可以直接寫固定值,但是配置更有意思,哈哈),經常不是自己需要的作者名,可以在IDEA中進行配置。打開→IDEA的安裝目錄\bin\idea64.exe.vmoptions。在最下面增加一行-Duser.name=username。

其中username就是你希望為user參數的賦值。

 


免責聲明!

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



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