欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Eclipse中setter/getter方法自动添加属性注释

程序员文章站 2022-05-19 17:45:15
...

这篇文章以前在公司内网发的,到现在也一直有用,发上来分享给有用的人

 

一、修改eclipse的setter/getter生成的源码

  1. 用git下载源码git://git.eclipse.org/gitroot/jdt/eclipse.jdt.ui.git

  2. 将版本历史切换到eclipse/plugins/org.eclipse.jdt.ui_*.jar包打包之前的最新版本

  3. 将其中的四个项目(org.eclipse.jdt.core.manipulation、org.eclipse.jdt.ui、org.eclipse.ltk.core.refactoring、org.eclipse.ltk.ui.refactoring)导入workspace

  4. 切换到项目org.eclipse.jdt.ui,配置Build Path,切换到Libraries,点击Add External JARs,找到eclipse/plugins目录,找到其中的org.eclipse.jdt.core_*.jar和org.eclipse.jface.text_*.jar添加到项目依赖包中。(此时项目可能依然有类报错,没关系,只要我们要改的类不报错就行了)

  5. 然后打开core extension源码目录,找到其中的org.eclipse.jdt.internal.corext.codemanipulation.GetterSetterUtil类

  6. 搜索关键字"CodeGeneration.getSetterComment"和"CodeGeneration.getGetterComment",分别在这两个查找到的内容下面一行中加入以下代码:

    ISourceRange sr= field.getJavadocRange();
    if (null != sr) {
    	String filedComment= field.getSource();
    	filedComment= filedComment.substring(0, sr.getLength()).replaceAll("[\n,\r,*,/,\t]", "").trim(); //$NON-NLS-1$ //$NON-NLS-2$
    	comment= comment.replace("#{bare_field_comment}", filedComment); //$NON-NLS-1$
    } 
  7. 修改完GetterSetterUtil后保存,之后到项目的bin目录下找到该类编译后的class文件复制出来。

二、将修改的好的GetterSetterUtil导入Eclipse

  1. 导入前关闭eclipse
  2. 用winrar或类似解压缩软件打开eclipse/plugins/org.eclipse.jdt.ui_*.jar,找到org.eclipse.jdt.internal.corext.codemanipulation.GetterSetterUtil类,将复制的class拖入替换
  3. 启动eclipse

三、修改代码模板

  1. 打开Window > Preferences > Java > Code Style > Code Templates
  2. 展开Comments > 设置Getters的Pattern
    /**
     * 获取 #{bare_field_comment}
     * @return ${bare_field_name}
     */
  3. 设置Setters的Pattern
    /**
     * 设置 #{bare_field_comment}
     * @param ${param} #{bare_field_comment}
     */
  4. 保存Apply

四、使用功能

  1. 定义属性
    private String uuserid
  2. 在属性上方输入代码"/**",然后回车,添加相关注释如,用户ID
    /**
     * 用户ID
     */
    private String uuserid
  3. 使用快捷键 shift+alt+s 打开源码控制面板,选择Generate Getters and Setters...,然后勾选要生成的get/set方法,Insertion point选择Last member(意为将方法生成在类的末尾),勾选Generate method comments,点击OK 即可在类的最后生成代码如下:
    /**
     * 获取 用户ID
     * @return uuserid
     */
    public String getUuserid() {
        return uuserid;
    }
        
    /**
     * 设置 用户ID
     * @param uuserid 用户ID
     */
    public void setUuserid(String uuserid) {
        this.uuserid = uuserid;
    }
     
相关标签: eclipse java