新版eclipse get set方法自动生成注释(适用2019-03之后版本)
现在使用eclipse作为开发工具的开发人员越来越少了,对于我这个念旧的人来说,依然喜欢使用eclipse。
今天分享一个新版本eclipse 自动生成getter/setter文档注释的方法,看一下效果图
public class Test {
//姓名
private String name;
/**
* 获取 姓名
* @return name 姓名
*/
public String getName() {
return name;
}
/**
* 设置 姓名
* @param name 姓名
*/
public void setName(String name) {
this.name = name;
}
}
现在网上能搜到的生成getter/setter文档注释都只适用eclipse老版本,不在适用2019-03之后的版本(没有具体统计过,但我用了很久18年版本的eclipse是支持的,为了写这个博客,又专门下载不同版本eclipse进行比较,下载版本截止到2019-03版本,发现已经不能使用老的方式解决)
从2019-03版本后,老的方式已经不在适用,2019-03版本之前的eclipse 自动生成getter/setter文档注释的网上资料还是挺多的,可参考:https://its201.com/article/niuzh/79043964
下载2019-03之后版本的eclipse,按老方法,在eclipse -> plugins下org.eclipse.jdt.ui_xxx.jar 包中是找不到GetterSetterUtil.class 文件的,也就无从替换。
按我这种比较懒惰的人来说,第一想法是从网上找一下解决方案,但无论是百度还是google都没能找到解决方案(也可能搜索关键字不对)。
没有在网上找到解决方案那就只能自己解决,先按老方法找到org.eclipse.jdt.ui_xxx.jar包,然后用压缩工具打开jar包,进入org\eclipse\jdt\internal\corext\codemanipulation 包内,找到与getter/setter有可能有关系AddGetterSetterOperation.class,大致扫了下代码,发现代码中使用GetterSetterUtil类的静态方法,但类中没有找到GetterSetterUtil的引用,同级目录也没有GetterSetterUtil.class,就联想到有引用其他jar包,并且与AddGetterSetterOperation.class所在包名一致,然后就去eclipse -> plugins下与org.eclipse.jdt相同前缀的jar包,通过对比以及打开可能一致的jar包,终于找到org.eclipse.jdt.core.manipulation_xxx.jar,相同的包名下有GetterSetterUtil.class,找到文件就好办了,然后就将网上下载的已经改写后的GetterSetterUtil.class替换,启动eclipse然后悲剧发生了,getter/setter无法生成了,这个时候就想到新版本GetterSetterUtil.class已经跟老版本GetterSetterUtil.class不一致了,那就自己写一个GetterSetterUtil.class,具体编写过程就不放了,完成后,分别在2019-12和2022-03版本进行测试,都成功了。
下面详细说明步骤
1、关闭eclipse,在eclipse->plugins文件夹找到这个jar包org.eclipse.jdt.core.manipulation_xxx.jar,可以用压缩文件打开该jar包,进入org.eclipse.jdt.internal.corext.codemanipulation 目录,
从网盘下载https://pan.baidu.com/s/1AJjnak8e2Cw4omSlGvKmXA?pwd=1234 提取码: 1234,替换jar包中GetterSetterUtil.class
2、重启eclipse,选择菜单window -> preferences
编辑Getters
/**
* 获取 bare_field_comment
* @return ${bare_field_name} bare_field_comment
*/
编辑Setters
/**
* 设置 bare_field_comment
* @param ${param} bare_field_comment
*/
保存配置后,getter/setter时,记得选中如下选项