Intellij IDEA如何自定義注釋模板的實(shí)現(xiàn)方法
想棧長我當(dāng)初從 Eclipse 轉(zhuǎn)用 IDEA 真是糾結(jié),放棄然后嘗試了N次,不過現(xiàn)在已經(jīng)算是轉(zhuǎn)型成功了,可以完全脫離 Eclipse 擼碼了,雖然說我現(xiàn)在真的擼得非常少了。。
說到 IDEA 的痛點(diǎn),我覺得注釋配置就不是很人性化。Eclipse 可以很方便的設(shè)置和導(dǎo)入公共的自定義注釋模板、格式化模板,但在 IDEA 中確實(shí)有點(diǎn)蹩腳,配置起來甚至有點(diǎn)高級,還需要用到 Grovvy 腳本。。
廢話不說了,來看下如何解決 Intellij IDEA 最頭大的問題:自定義注釋模板。。
IDEA 中有以下兩種配置模板。
- File and Code Templates
- Live Templates
下面介紹下這兩種的使用方法。
File and Code Templates
File and Code Templates 用來配置文件和代碼模板,即文件在創(chuàng)建的時(shí)候自動會按文件模板生成代碼注釋。
下面來演示一下如何自動生成 Java 類注釋。
依次打開下面這個菜單:
Editor > File and Code Templates > files

里面自帶了很多文件的注釋模板,只不過要自己設(shè)置,這個 class 里面的內(nèi)容就是自帶的,里面有一個 #parse 的代碼。
#parse("File Header.java")
這個 File Header.java 哪里來的呢?
依次打開下面這個菜單:
Editor > File and Code Templates > files > Includes

其實(shí)這個 Includes 就是前面 Files 模板里面 parse 引用的片段而已。File Header 這里默認(rèn)是空的,然后在這個片段里面編輯模板即可,支持一些預(yù)定義的變量,如:DATE、TIME、USER 等,上圖給的是配置示例。

從上圖也可以看到,這里的模板配置用的是 Apache Velocity 模板語言,其中的 #parse 就是 Velocity 模板語言的關(guān)鍵字。
所以,這里的 Java 類自動生成類注釋就配置完那個 File Header 就行了,配置完后,隨便創(chuàng)建一個類就會自動帶上注釋。
其他的文件配置方式不再撰述。
Live Templates
Live Templates 用來配置動態(tài)模板,可以在指定位置使用縮寫字母自動生成注釋。下面演示兩個創(chuàng)建示例,手動生成類注釋、方法注釋。
上面演示的是創(chuàng)建類的時(shí)候自動添加注釋,如果想手動添加類注釋,怎么加?
首先打開 Live Templates 菜單:
Editor > Live Tempaltes

上面截圖的已經(jīng)配置好了 cc 和 mc,代表我輸入 cc 和 mc 后會自動帶出來類注釋、方法注釋。
右上角有個 + 號,點(diǎn)擊選擇 Live Template 添加一個動態(tài)模板,依次配置下面的內(nèi)容。
- abbreviation: 模板縮寫
- Description: 模板描述
- Template Text: 模板內(nèi)容
Template Text 里面美元符號包起來的是變量,需要點(diǎn)擊 Edit variable 按鈕來設(shè)置這些變量。

另外,就是設(shè)置模板使用的場景,如以下所示,點(diǎn)擊 Define 鏈接,設(shè)置類模板只能在 Java 語言下使用。

方法注釋和類注釋配置一致,配置示例如下:


唯一不同的是,方法里面的 params 變量需要用以下 Groovy 表達(dá)式來配置,比較麻煩。。
而且方法注釋這里還有一個坑,使用 mc 時(shí)不能在方法上面,要在方法里面使用,不然 @param 帶出來的是 null, 而不是具體的參數(shù)名稱。
好了,今天就深圳了 Intellij IDEA 如何配置文件代碼模板、類和方法注釋,更多的就去研究這兩個菜單吧。
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
淺談spring-boot 允許接口跨域并實(shí)現(xiàn)攔截(CORS)
本篇文章主要介紹了淺談spring-boot 允許接口跨域并實(shí)現(xiàn)攔截(CORS),具有一定的參考價(jià)值,有興趣的可以了解一下2017-08-08
Java學(xué)生信息管理系統(tǒng)設(shè)計(jì)(數(shù)據(jù)庫版)
這篇文章主要為大家詳細(xì)介紹了數(shù)據(jù)庫版的Java學(xué)生信息管理系統(tǒng)設(shè)計(jì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-11-11
排查Failed?to?validate?connection?com.mysql.cj.jdbc.Connec
這篇文章主要介紹了Failed?to?validate?connection?com.mysql.cj.jdbc.ConnectionImpl問題排查,具有很好的參考價(jià)值,希望對大家有所幫助2023-02-02

