让Myeclipse自动生成的get set方法 自动加上文本注释,并且注释内容包含字段中我们加的文档注释

在进行编码写实体类的时候发现,一个实体类有好多的字段要进行注释,他们都是私有的不能直接访问,我们在写的时候加入的文档注释也起不到效果,但是自动生成的get,set方法的文档注释有不符合我们要求(没有包含字段中的文档注释) 所以就很纠结。在网上看到了一些大神有解决方法就试了下可以,拿出来和大家分享下!


修改后的效果图:


步骤:

1:在myeclipse/eclisp中搜索找到org.eclipse.jdt.ui_*.jar(*是版本号)

2:将jar文件改成.rar格式并打开(修改前最好先备份一下这个jar文件)

3:找到\org\eclipse\jdt\internal\corext\codemanipulation这个目录下的GetterSetterUtil.class这个文件,并下载我提供压缩文件下的文件替换掉这一个文件就可以了

4:开启开发工具找到Window->Preferences->Java->CodeStyle->Code Templates->Comments->Getters/Setters

具体代码修改:

通过反编译技术,修改ECLIPSE的org.eclipse.jdt.ui_3.3.1.r331_v20070906.jar包中的

org.eclipse.jdt.internal.corext.codemanipulation.GetterSetterUtil类
下的getSetterStub及getGetterStub函数,来实现生成getter/setter时,注释使用成员的注释(如果成员的注释有的话,如果没有则使用注释模板生成,如果选择了生成getter/setter需要生成code comment的话)

getSetterStub函数修改的地方为:
将原:
  if(addComments)
  {
  String comment = CodeGeneration.getSetterComment(field.getCompilationUnit(), parentType.getTypeQualifiedName('.'), setterName, field.getElementName(), typeName, argname, accessorName, lineDelim);


修改为:
  if(addComments)
  {
  String comment = CodeGeneration.getSetterComment(field.getCompilationUnit(), parentType.getTypeQualifiedName('.'), setterName, field.getElementName(), typeName, argname, accessorName, lineDelim);
  ISourceRange sr = field.getJavadocRange();
  if( null != sr )
  comment = field.getSource().substring( 0, sr.getLength() );




getGetterStub函数修改的地方为:
将原:
  if(addComments)
  {
  String comment = CodeGeneration.getGetterComment(field.getCompilationUnit(), parentType.getTypeQualifiedName('.'), getterName, field.getElementName(), typeName, accessorName, lineDelim);


修改为:
  if(addComments)
  {
  String comment = CodeGeneration.getGetterComment(field.getCompilationUnit(), parentType.getTypeQualifiedName('.'), getterName, field.getElementName(), typeName, accessorName, lineDelim);
  ISourceRange sr = field.getJavadocRange();
  if( null != sr )
  comment = field.getSource().substring( 0, sr.getLength() );




  getters:

  1. /**   
  2.  * 获取${bare_field_name}   
  3.  * @return ${bare_field_name} ${bare_field_name}   
  4.  */    
setters:
  1. /**   
  2.  * 设置${bare_field_name}   
  3.  * @param ${bare_field_name} ${bare_field_name}   
  4.  */    

注意:生成Get/Set方法时勾选上Generate method comments


我在myeclips8.6中测试成功!大家可以试试

MyEclipse10可用

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值