標籤:eclipse templates plugins getter setter 注釋
在我們使用eclipse進行開發的時候常常會使用到eclipse自動產生getter和setter的功能,然後大多情況下eclipse為我們產生的getter和setter都是無法在項目中使用的。還需要我們自己手動修改。
比如下面這個類。我使用了eclipse的自動產生getter和setter的功能並且選擇了添加註釋。最終的類為如下
public class User {//使用者名稱private String name;/** * @return the name */public String getName() {return name;}/** * @param name the name to set */public void setName(String name) {this.name = name;}}
但是我們想要的不是這樣一個注釋。希望能夠產生如下的代碼注釋
public class User {// 使用者名稱private String name;/** * 返回 使用者名稱 * * @return 使用者名稱 */public String getName() {return name;}/** * 設定 使用者名稱 * * @param name * 使用者名稱 */public void setName(String name) {this.name = name;}}
如何來做呢?
現在我就來說明一下我的修改方式。
1、第一步是尋找到eclipse自動產生getter和setter的類檔案。我給大家找好了在eclipse\plugins\org.eclipse.jdt.ui_xxxxxxxx.jar\org\eclipse\jdt\internal\corext\codemanipulation\GetterSetterUtil.class
2、我們修改這個class的源碼然後編譯替換。這個class源碼一般在對應的eclipse\plugins\org.eclipse.jdt.ui.source__xxxxxxxx.jar\org\eclipse\jdt\internal\corext\codemanipulation\GetterSetterUtil.java
我的eclipse版本為Version: 4.3.1
我把已經修改好和編譯好的檔案傳上來。在你們使用這個的時候記得先把原始jar進行備份。以免悲劇。
關於class的替換過程我還是簡單說下。免得有的同學不明白。
1、直接用壓縮檔開啟eclipse\plugins\org.eclipse.jdt.ui_xxxxxxxx.jar
2、找到org\eclipse\jdt\internal\corext\codemanipulation\GetterSetterUtil.class
3、將GetterSetterUtil.class替換為我們自己修改好的GetterSetterUtil.class(eclipse沒有啟動並執行狀態下才能替換)
使用方法
1、在eclipse中window-》preferences->java->code style->code templates
2、找到comments
3、 展開找到getters點擊Edit輸入如下內容
/** * 返回 bare_field_comment * * @return bare_field_comment*/
4、找到setters 點擊edit 輸入如下內容
/** * 設定 bare_field_comment * * @param ${param} * bare_field_comment */
5、儲存
bare_field_comment :是用我們屬性上面的這個注釋來替換。如果屬性上面沒用注釋的話。那麼會直接輸出bare_field_comment
使用
public class User {// 使用者名稱private String name;}
在我們自動產生getter和setter的時候同樣選中 generate method comments 如果屬性上面有單行注釋那麼這個注釋就會被我們使用到。
最終產生效果如下
public class User {// 使用者名稱private String name;/** * 返回 使用者名稱 * * @return 使用者名稱 */public String getName() {return name;}/** * 設定 使用者名稱 * * @param name * 使用者名稱 */public void setName(String name) {this.name = name;}}
注意的是
多行注釋是不被識別的。這個是故意屏蔽掉的。
http://download.csdn.net/detail/kongguoan/7693671