您好,登錄后才能下訂單哦!
這篇文章給大家分享的是有關IDEA如何設置生成帶注釋的getter和setter的內容。小編覺得挺實用的,因此分享給大家做個參考,一起跟隨小編過來看看吧。
近日在研究重構代碼的時候有用到idea的不少插件,比如CheckStyle,同時下載了阿里的開發規約,受到不少啟發。
規約中會要求所有的方法都有Javadoc,但是通常我們用idea默認生成的getter和setter方法是不帶注釋的,當然,我們同樣可以設置idea像MyEclipse一樣生成帶有Javadoc的模板,具體解決方案如下:
比如我們有這么一個pojo類:
/** * 人類. * @author eric */ public final class People { /** * 姓名. */ private String name; /** * 年齡. */ private Integer age; }
這個時候我們按下 Alt + Insert (Windows),或者 Command + N (MacOS)來打開生成窗口:
這里我們選擇Getter and Setter。
打開如下窗口:
我們點擊如圖箭頭所示的地方,打開如下視圖:
然后我們新建一個Template,點擊圖中的 "+" 號,然后輸入名稱(當然你可以起個自己喜歡的名稱)
點擊OK。之后在編輯區域復制粘貼如下代碼:
/** * Gets the value of $field.name * @return the value of $field.name */ public ## #if($field.modifierStatic) static ## #end $field.type ## #set($name = $StringUtil.capitalizeWithJavaBeanConvention($StringUtil.sanitizeJavaIdentifier($helper.getPropertyName($field, $project)))) #if ($field.boolean && $field.primitive) #if ($StringUtil.startsWithIgnoreCase($name, 'is')) #set($name = $StringUtil.decapitalize($name)) #else is## #end #else get## #end ${name}() { return $field.name; }
完畢后點擊OK。
Setter的配置同上一致,我們只需將編輯區內的代碼改下(當然Template Name也可以改下:D):
/** * Sets the $field.name * <p>You can use get$StringUtil.capitalizeWithJavaBeanConvention($StringUtil.sanitizeJavaIdentifier($helper.getPropertyName($field, $project)))() to get the value of $field.name</p> * @param $field.name $field.name */ #set($paramName = $helper.getParamName($field, $project)) public ## #if($field.modifierStatic) static ## #end void set$StringUtil.capitalizeWithJavaBeanConvention($StringUtil.sanitizeJavaIdentifier($helper.getPropertyName($field, $project)))($field.type $paramName) { #if ($field.name == $paramName) #if (!$field.modifierStatic) this.## #else $classname.## #end #end $field.name = $paramName; }
下面就讓我們來看下成果:
在這里注意要選擇我們剛配置好的Template,而不是Default。
點擊OK。
到這里算是大功告成了。
感謝各位的閱讀!關于“IDEA如何設置生成帶注釋的getter和setter”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,讓大家可以學到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。