您的位置:首页 > 编程语言 > Java开发

eclipse 自动为getter和setter添加中文注释

2014-07-30 09:42 363 查看
在我们使用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/7694553
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: