Java 開(kāi)發(fā)過(guò)程經(jīng)常需要編寫有固定格式的代碼,例如說(shuō)聲明一個(gè)私有變量,logger或者bean等等。對(duì)于這種小范圍的代碼生成,我們可以利用 IDEA 提供的 Live Templates功能。剛開(kāi)始覺(jué)得它只是一個(gè)簡(jiǎn)單的Code Snippet,后來(lái)發(fā)現(xiàn)它支持變量函數(shù)配置,可以支持很復(fù)雜的代碼生成。下面我來(lái)介紹一下Live Templates的用法。
基本使用
IDEA 自帶很多常用的動(dòng)態(tài)模板,在 Java 代碼中輸入fori,回車就會(huì)出現(xiàn)
如果你用過(guò) vim 的Code Sinppet插件,你會(huì)發(fā)現(xiàn)模板里面是可以執(zhí)行函數(shù)的,強(qiáng)大的 Live Templates當(dāng)然也支持,而且 IDEA 能夠感知代碼的語(yǔ)義,例如說(shuō)當(dāng)前編輯的函數(shù)的參數(shù)。但這一點(diǎn)就能夠讓我們玩出花來(lái)。我們從易到難來(lái)研究模板函數(shù)的功能。img前面我們提到的變量可以綁定函數(shù),配置方式如上圖所示。
新增一個(gè)服務(wù)都要在 Spring 中注冊(cè)一個(gè) bean,一般這個(gè)配置無(wú)非就是將指明id和class,由于我們是在 xml 中配置,所以不能利用className()函數(shù),但是我們可以利用clipboard()函數(shù)獲取到類的全引用,在 IDEA 中我們直接右鍵類名,點(diǎn)擊Copy Reference就行。然后執(zhí)行 groovy 腳本獲取類名。
上面我們簡(jiǎn)單介紹了常用的模板函數(shù),其實(shí) IDEA 還有很多其它模板函數(shù),具體參考Creating and Editing Template Variables(https://www.jetbrains.com/help/idea/2016.3/creating-and-editing-template-variables.html)。IDEA 是一個(gè)很強(qiáng)大的工具,善用工具能夠極大的提高工作效率,將精力投入到關(guān)鍵的事情上,而不是將時(shí)間浪費(fèi)在編寫重復(fù)代碼上面。一些更高級(jí)的用法還有待大家去發(fā)掘。最后推廣一波代碼生成插件CodeMaker(https://github.com/x-hansong/CodeMaker),好好利用也能節(jié)省很多重復(fù)編寫代碼的時(shí)間。推薦閱讀騰訊 Git 規(guī)范出爐,寫給開(kāi)發(fā)者的指南! 最棒 Spring Boot 干貨總結(jié)(超詳細(xì),建議收藏) 我的天,Spring Boot 居然還有 Plus 版本