如何配置Intellj idea(Android Studio)的注釋模板

在日常項(xiàng)目開發(fā)過程中铅碍,項(xiàng)目組都會(huì)有自己的一套默認(rèn)的注釋模板傻谁。這里书劝,我們介紹下如何在Intellj idea(由于Android Studio是基于idea的老充,配置是一樣的)中葡盗,修改默認(rèn)的注釋模板,以獲得我們想要的效果啡浊。文中將分別介紹

  • 文件頭(File Header)的配置:在創(chuàng)建代碼文件時(shí)在文件頭生成
  • 類的配置:在新建類文件時(shí)自動(dòng)生成觅够,其模板中會(huì)解析File Header文件中的內(nèi)容
  • 方法的配置:配置好模板,根據(jù)快捷鍵生成

一巷嚣、配置File Header注釋模板

在打開的idea工程中喘先,選擇File->Setting->Editor->File and Code Templates,在打開的右側(cè)窗口中選取Includes頁(yè)簽下的File Header子項(xiàng)(若不存在該項(xiàng)廷粒,則新建一個(gè))窘拯,如下所示:




看下idea給出的描述信息吧
這是一個(gè)內(nèi)建的模板红且。它包含了一個(gè)通過#parse指令,可被文件模板包含的代碼片段树枫。該模板是可編輯的直焙。與靜態(tài)文本景东,代碼和注釋一起砂轻,你也可以使用預(yù)定義變量,然后它們將像宏一樣展開為相應(yīng)的值斤吐。

  • ${PACKAGE_NAME} 被創(chuàng)建新文件的包名搔涝。
  • ${USER} 當(dāng)前用戶系統(tǒng)登陸名,這個(gè)名字可以在計(jì)算機(jī)->管理里面做修改和措。
  • ${DATE} 當(dāng)前系統(tǒng)日期
  • ${TIME}當(dāng)前系統(tǒng)時(shí)間
  • ${YEAR}當(dāng)前年份
  • ${MONTH} 當(dāng)前月份
  • ${MONTH_NAME_SHORT}當(dāng)前月份名的前三個(gè)字母庄呈,比如,Jan派阱,F(xiàn)eb等
  • ${MONTH_NAME_FULL} 當(dāng)前月份名的完整名稱诬留,比如,January, February等
  • ${DAY} 月份的當(dāng)前天
  • ${DAY_NAME_SHORT} 當(dāng)前天名的前三個(gè)字母贫母,比如文兑,Mon,Tue等
  • ${DAY_NAME_FULL} 當(dāng)前天名的前三個(gè)字母腺劣,比如绿贞,Monday,Tuesday等
  • ${HOUR} 當(dāng)前小時(shí)
  • ${MINUTE} 當(dāng)前分鐘
  • ${PROJECT_NAME} 當(dāng)前工程名
    通過以上橘原,我們可以知道籍铁,該文件會(huì)是其它模板文件的內(nèi)建模板,我們通持憾希可以使用其預(yù)定義的變量拒名。下面給出一個(gè)模板:
/**
 *  
 * @author: ${USER}
 * @description please add a description here
 * @date: Create in ${TIME} ${DATE}
 */

將以上內(nèi)容貼到編輯框中,然后點(diǎn)擊ApplyOk按鈕芋酌。接著增显,新建一個(gè)文件后,可以看到如下的結(jié)果隔嫡。

/**
 * @author: killua
 * @description please add a description here
 * @date: Create in 20:20 2018/7/14
 */
public class Demo
{
}

這樣子甸怕,我們就完成了文件頭的配置。

二腮恩、配置類注釋模板

類模板的配置與文件頭大餓配置有點(diǎn)重復(fù)的感覺梢杭。如果已經(jīng)配置了文件頭后,就不需要再配置該模板了秸滴。該模板只針對(duì)所有的Class類武契。如果要為接口添加注釋,需要修改相應(yīng)的模板。
通過File->Setting->Editor->File and Code Templates咒唆,打開右側(cè)Files頁(yè)簽下的Class子項(xiàng)届垫,進(jìn)行配置。


稍微看下說明吧:
這是一個(gè)內(nèi)建的模板全释,用于在每次你通過選擇New->Java Class->Class菜單來創(chuàng)建一個(gè)新的Java類的時(shí)候装处。它也可以指定任意數(shù)量的自定義變量,格式為${<VARIABLE_NAME>}浸船,這種情況下妄迁,在你創(chuàng)建新文件前,你將收到一個(gè)對(duì)話框提示李命,你可以在里面為所有的自定義變量的特定值登淘。使用#parse指令,可將include tab頁(yè)匯總的模板包含進(jìn)來封字,通過指定期望的模板名作為參數(shù)黔州。如#parse("File Header.java")
這里阔籽,因?yàn)槲覀円约霸趇nclude中配置了File Header.java流妻,所以可以不做修改。

三仿耽、配置方法模板

idea自帶了一個(gè)方法模板合冀,但只有param和return字段,不夠?qū)嵱孟詈兀缦滤荆?/p>

    /**
     *
     * @param param
     * @return
     */
    private boolean isShow(String param)
    {
        return true;
    }

通過在方法定義上一行中敲擊/** + Enter觸發(fā)模板君躺。
接著,我們來實(shí)現(xiàn)我們的自定義模板开缎,通過File-->Settings-->Editor-->Live Templates棕叫,然后點(diǎn)擊右上角的+,選擇Template Group來創(chuàng)建一個(gè)新的組奕删,取名為CustomGroup俺泣,如圖所示。


然后完残,選擇新創(chuàng)建的CustomGroup伏钠,然后再次選擇+,這次選擇Live Templates谨设,新建一個(gè)模板到模板組中熟掂,如下所示:

這里Abbreviation中填入*(觸發(fā)條件為/* + 模板名+快捷鍵),這是觸發(fā)條件的縮寫扎拣。第二個(gè)框中填入模板的描述赴肚,然后素跺,點(diǎn)擊底下的define按鈕,在彈出框中誉券,選擇相應(yīng)的語(yǔ)言場(chǎng)景指厌。

填入模板內(nèi)容,如下:

*
 *
 * @author $user$
 * @param $param$
 * @return $return$
 * @date $time$ $date$
 **/

設(shè)置參數(shù)名時(shí)必須用${參數(shù)名}$的方式踊跟,為了獲取param和return的參數(shù)踩验,idea提供了內(nèi)置的幾個(gè)方法:

  • param通過methodParameters()來獲取
  • return 通過methodReturnType()來獲取
  • time 通過time()來獲取
  • date 通過date()來獲取
  • user 通過user()來獲取
    通過點(diǎn)擊Edit Variables來設(shè)置相應(yīng)的參數(shù)值,如下所示:


    最后琴锭,修改idea默認(rèn)的快捷鍵晰甚,將tab改為Enter,如下圖所示决帖。

    這樣子就完成了方法注釋模板的編輯,新建方法后蓖捶,敲擊* + Enter后地回,效果如下。
    /**
     *
     * @author killua
     * @param [`param1`, parm2]
     * @return
     * @date 12:24 2018/7/15
     **/

但代碼檢測(cè)工具會(huì)對(duì)參數(shù)以紅色告警方式顯示俊鱼,這是因?yàn)樗也坏?code>[param1, parm2]參數(shù)刻像。
如果要顯示參數(shù)列表單獨(dú)顯示那種方式(自帶那種方式),只能在方法內(nèi)部實(shí)現(xiàn)并闲,這時(shí)候需要將配置的methodParameters()替換為以下腳本:

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) ? '**\\**n**\\**b' : '')**}**; return result", methodParameters())*

方法內(nèi)和外的效果對(duì)比细睡,方法外無法獲取參數(shù)列表

/**
     *
     * @author killua
     * @param null
     * @return 
     * @date 12:22 2018/7/15
     **/
    private boolean isShow(String param1, String parm2)
    {
        /**
         *
         * @author killua
         * @param param1
         * @param parm2
         * @return 
         * @date 12:22 2018/7/15
         **/
        return true;
    }

這幾種方式都不算好,因?yàn)镮ntellj idea的/** + Enter不算一個(gè)Live Template帝火。這里有個(gè)折中的方案溜徙,就是同時(shí)利用了自帶的/** + Enter和新建的Live Template。并在新建模板中添加你額外的屬性犀填,如下所示:


注意空格:

@author $USER$ 
    * @since  $DATE$;

然后蠢壹,先敲擊自帶的功能/** + Enter,然后繼續(xù)在注釋中敲擊auth+Enter獲取完整的信息九巡,如下:

  /**
     * 
     * @param param1
     * @param parm2
     * @author killua
     * @since 2018/7/15;
     * @return
     */
    private boolean isShow(String param1, String parm2)
    {
        return true;
    }
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末图贸,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子冕广,更是在濱河造成了極大的恐慌疏日,老刑警劉巖,帶你破解...
    沈念sama閱讀 206,214評(píng)論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件撒汉,死亡現(xiàn)場(chǎng)離奇詭異沟优,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)神凑,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,307評(píng)論 2 382
  • 文/潘曉璐 我一進(jìn)店門净神,熙熙樓的掌柜王于貴愁眉苦臉地迎上來何吝,“玉大人,你說我怎么就攤上這事鹃唯“牛” “怎么了?”我有些...
    開封第一講書人閱讀 152,543評(píng)論 0 341
  • 文/不壞的土叔 我叫張陵坡慌,是天一觀的道長(zhǎng)黔酥。 經(jīng)常有香客問我,道長(zhǎng)洪橘,這世上最難降的妖魔是什么跪者? 我笑而不...
    開封第一講書人閱讀 55,221評(píng)論 1 279
  • 正文 為了忘掉前任,我火速辦了婚禮熄求,結(jié)果婚禮上渣玲,老公的妹妹穿的比我還像新娘。我一直安慰自己弟晚,他們只是感情好忘衍,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,224評(píng)論 5 371
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著卿城,像睡著了一般枚钓。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上瑟押,一...
    開封第一講書人閱讀 49,007評(píng)論 1 284
  • 那天搀捷,我揣著相機(jī)與錄音,去河邊找鬼多望。 笑死嫩舟,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的便斥。 我是一名探鬼主播至壤,決...
    沈念sama閱讀 38,313評(píng)論 3 399
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼枢纠!你這毒婦竟也來了像街?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 36,956評(píng)論 0 259
  • 序言:老撾萬榮一對(duì)情侶失蹤晋渺,失蹤者是張志新(化名)和其女友劉穎镰绎,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體木西,經(jīng)...
    沈念sama閱讀 43,441評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡畴栖,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 35,925評(píng)論 2 323
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了八千。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片吗讶。...
    茶點(diǎn)故事閱讀 38,018評(píng)論 1 333
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡燎猛,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出照皆,到底是詐尸還是另有隱情重绷,我是刑警寧澤,帶...
    沈念sama閱讀 33,685評(píng)論 4 322
  • 正文 年R本政府宣布膜毁,位于F島的核電站昭卓,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏瘟滨。R本人自食惡果不足惜候醒,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,234評(píng)論 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望杂瘸。 院中可真熱鬧倒淫,春花似錦、人聲如沸胧沫。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,240評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)绒怨。三九已至,卻和暖如春谦疾,著一層夾襖步出監(jiān)牢的瞬間南蹂,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,464評(píng)論 1 261
  • 我被黑心中介騙來泰國(guó)打工念恍, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留六剥,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 45,467評(píng)論 2 352
  • 正文 我出身青樓峰伙,卻偏偏與公主長(zhǎng)得像疗疟,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子瞳氓,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,762評(píng)論 2 345

推薦閱讀更多精彩內(nèi)容