新版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时,记得选中如下选项

posted @ 2022-07-20 09:29  心怀初学  阅读(136)  评论(0编辑  收藏  举报