IDEA Live中Template如何使用,很多新手對此不是很清楚,為了幫助大家解決這個難題,下面小編將為大家詳細(xì)講解,有這方面需求的人可以來學(xué)習(xí)下,希望你能有所收獲。
成都創(chuàng)新互聯(lián)堅持“要么做到,要么別承諾”的工作理念,服務(wù)領(lǐng)域包括:網(wǎng)站設(shè)計、成都網(wǎng)站建設(shè)、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣等服務(wù),滿足客戶于互聯(lián)網(wǎng)時代的云霄網(wǎng)站設(shè)計、移動媒體設(shè)計的需求,幫助企業(yè)找到有效的互聯(lián)網(wǎng)解決方案。努力成為您成熟可靠的網(wǎng)絡(luò)建設(shè)合作伙伴!
簡單類型
簡單類型就是固定的代碼片段,當(dāng)通過縮略詞展開的時候,會在源代碼中展開。如最簡單和常用的pdvm展開就是main函數(shù)的定義。
參數(shù)類型
參數(shù)類型就是代碼片段中帶有參數(shù)的模板,參數(shù)用$界定,如參數(shù)MY,這位$MY$,參數(shù)類型非常有用,我們自定義的模板很多都會用到參數(shù),等會再設(shè)置中在進(jìn)行講解。
環(huán)繞類型
環(huán)繞模板指的是那種包裹代碼塊的模板,比如try catch,還有下面演示的callable語句。
三種類型的演示如下:
如圖中所示,iterations是idea自帶的group,fori是縮略詞,顧名思義這個組是針對迭代等操作的。
在使用時我們可以輸入10.fori,list.fori或者直接輸入fori然后按tab鍵(箭頭7處)插入代碼。idea會根據(jù)上下文生成不同的代碼片段,如10.fori直接生成了“for (int i = 0; i < 10; i++) {”,而直接輸入fori則是“for (int i = 0; i < ; i++) {”,注意此時10沒有自動生成需要你手動輸入。 我們可以點擊2處新建自己的template,template的縮略詞在同一group內(nèi)不能重復(fù),所以為了不和自帶的鍵重復(fù)我們最好新建自己的一個group比如MY,不同的group中的縮略詞可以重復(fù)。箭頭5是描述用來助記的。
我們來自定義一個如下圖:
我自定義了一個info(代碼片段:"$CLASS$.$METHOD$ linenum:$LINE$, param:{$PARAM$} info:$MY$"$END$),輸出了類名、方法名、行數(shù)和參數(shù),這些信息在記錄日志的時候非常有必要。其中$PARAM$變量就用到了腳本。
// methodParameters是預(yù)定義函數(shù),其中雙引號里的就是腳本,_1占位符只帶methodParameters參數(shù) groovyScript("_1.collect { it + ' = [\">
關(guān)于備份和分享:live template文件保存在“{user}{version}\config\templates”,user是指用戶目錄,version是idea目錄,如我的目錄就是C:\Users\chen.IntelliJIdea2017.3\config\templates,其中的文件名以group為名字。也可以在在File->Export Settings對話框中選中l(wèi)ive template可以保存配置。
說明:在設(shè)置變量的值時有一列是Skip if define,這一列的意思是,如果有值了是否跳過(即光標(biāo)是否停留),光標(biāo)停留的位置是變量對話框中的順序來定的,可以用右邊的箭頭排序。如果所有的變量填充完了便會跳到$END$變量的位置,如果沒有定義$END$則跳到代碼片段結(jié)尾。
win平臺默認(rèn)的快捷鍵主要是三個ctrl+j(insert live template)、ctrl+alt+j(sround with live template)和ctrl+alt+t(sround with)。
快捷鍵是live template中經(jīng)常需要用到的,所以需要記住。由于每個平臺不一樣,也有可能有人修改了快捷鍵,所以我用括號注明了快捷鍵對應(yīng)的名字,如果你的idea該快捷鍵不生效可以直接按圖中搜索名字。
ctrl+j:插入普通的live template
ctrl+alt+j:插入包裹的live template
ctrl+alt+t:插入包裹的代碼片段,這個包含了ctrl+alt+j但是又包含一些系統(tǒng)自帶的語句塊,比如if,while和for等等。
**這里就需要重點介紹下包裹的代碼片段**,其實就是指的你用光標(biāo)選中的代碼。使用這種代碼片段需要我們用光標(biāo)去選擇然后輸入快捷鍵ctrl+alt+t或者ctrl+alt+j選中需要的使用的縮略詞。在自定義的代碼片段中有個自帶的$SELECTION$指的就是你用光標(biāo)選中的代碼,在插入代碼片段時,就會將你選中的代碼插入到$SELECTION$。讓我們在實現(xiàn)一個帶包裹代碼片段的sloge,設(shè)置如下:
我自定義了幾個非常常用的代碼片段,分別是
"info":輸出調(diào)試信息
// 代碼片段 "$CLASS$.$METHOD$ ~~~~ linenum:$LINE$, param:{$PARAM$} info:$MY$"$END$ // 變量定義 $CLASS$:className() $METHOD$:methodName() $LINE$:lineNumber() $PARAM$:groovyScript("_1.collect { it + ' = [\">
"fen":分割線的注釋
// 代碼片段 /* ---------------- $E$ -------------- */$END$
"log":定義日志常量
// 代碼片段 private static final Logger logger= LoggerFactory.getLogger($CLASS$.class); // 變量定義 $CLASS$:className()
"zhushi":帶名字和日期的注釋
// 代碼片段 // comment --$USER$-- $D$ ------>$ANNOTATION$ // 變量定義 $USER$:"chenfangzhi" $D$ :date("YYYY-MM-DD hh:mm:ss")
"todo":todo注釋
// 代碼片段 // todoBy$USER$ ---- $D$ ------>$TODO$ // 變量定義 $USER$:"chenfangzhi" $D$ :date("YYYY-MM-DD hh:mm:ss")
說明:todo的作用我就不講解了,這里的第4和第5項可能很像,有很多地方需要標(biāo)注是誰操作的,現(xiàn)在的項目很多都是多人開發(fā),如果都是使用默認(rèn)的todo,就會很混亂,這時候我們就需要自己來定義屬于自己的todo注釋,這時候就需要帶上名字。代碼片段可以自己定義,可以同時帶上todo和名字,這樣在查看todo列表的時候就可以進(jìn)行篩選。如下圖:
看完上述內(nèi)容是否對您有幫助呢?如果還想對相關(guān)知識有進(jìn)一步的了解或閱讀更多相關(guān)文章,請關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝您對創(chuàng)新互聯(lián)的支持。