`
onlyor
  • 浏览: 380415 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

为Eclipse定制你自己的注释模板变量

    博客分类:
  • java
阅读更多

Eclipse的代码注释模板很丰富,如:user、year、date、time等等,请参考附件。
尽管模板变量如此之多,但是对于复杂多边的实际项目而言,还是不够用,怎么办?自己增加新的呗!
Eclipse配置界面都不支持定制自己的注释模板变量,没办法,改Eclipse源码,
具体怎么改,好像无头苍蝇,百度和谷歌了2天,还是无果,在边搜边摸索的过程中才知道需要修改如下两个架包对应的源码,
org.eclipse.jdt.ui.jar
org.eclipse.text.jar
发现了三个重要的文件:
org.eclipse.jface.text.template.TextTemplateMessageg.properties
org.eclipse.jface.text.templates.GlobalTemplateVariables.java
org.eclipse.jdt.internal.corext.template.java.CodeTemplateContextType.java

1、TextTemplateMessageg.properties里面定义了一些全局模板:

# global variables
GlobalVariables.variable.description.cursor=The cursor position after editing template variables
GlobalVariables.variable.description.dollar=The dollar symbol
GlobalVariables.variable.description.date=Current date
GlobalVariables.variable.description.year=Current year
GlobalVariables.variable.description.time=Current time
GlobalVariables.variable.description.user=User name
GlobalVariables.variable.description.selectedWord= The selected word
GlobalVariables.variable.description.selectedLines= The selected lines
我们可以看到user、year、date、time都在里面。
如果要增加自己的模板变量,就加吧?例如:
GlobalVariables.variable.description.copyright=Copyright all resolved

2、全局模板变量在GlobalTemplateVariables里面,均继承自SimpleTemplateVariableResolver
   增加一个对应GlobalVariables.variable.description.copyright的模板变量
    /**
     * The copyright variable evaluates to the current copyright.
     * Added by 博主 2011-10-30
      */
    public static class Copyright extends SimpleTemplateVariableResolver
    {
        /**
         * 默认从环境变量中取copyright信息,环境变量可以定义在eclipse.ini的vmargs下面
         */
        private static String value = System.getProperty("copyright");
        /**
         * Creates a new copyright variable
         */
        public Copyright()
        {
            super("copyright", TextTemplateMessages.getString("GlobalVariables.variable.description.copyright")); //$NON-NLS-1$ //$NON-NLS-2$
        }

        /**
         * {@inheritDoc}
         */
        protected String resolve(TemplateContext context)
        {
            if (value != null)
            {
                return TextTemplateMessages.getString("GlobalVariables.variable.description.copyright");
            }
            return value; //$NON-NLS-1$
        }
    }


3、让Eclipse的Reference界面配置code template是支持${copyright}
    修改:CodeTemplateContextType,在其构造方法里面增加Copyright实例

    public CodeTemplateContextType(String contextName) {
        super(contextName);

        fIsComment= false;

        // global
        addResolver(new GlobalTemplateVariables.Dollar());
        addResolver(new GlobalTemplateVariables.Date());
        addResolver(new GlobalTemplateVariables.Year());
        addResolver(new GlobalTemplateVariables.Time());
        addResolver(new GlobalTemplateVariables.User());

        //  Added by 博主 2011-10-30
       addResolver(new GlobalTemplateVariables.Copyright());

4、将修改的内容加到org.eclipse.jdt.ui.jar和org.eclipse.text.jar这两个包中
    先退出Eclipse,再使用BeyondCompare之类的比较工具,将修改编译好的calss文件和properties文件覆盖到原有包中,不过如果你动jar的命令行操作,也可以使用jar命令打包。
    好了,现在重新启动Eclipse,赶紧到windows-preferences->java-code style->code template界面去体验一下:
     
    新建一个java类,在类名上方按Ctrl+Alt+j就可以出现自己的copyright注释了。

想想很简单。

附录:Eclipse针对java代码模板的内置变量
cursor 将编辑器的光标放在这个位置。 N/A 

date 插入当前日期。

dollar 插入货币的文字符号。 $ 

elemType 尝试猜测具有给定 ID 的这个元素的类型。 MyType 

enclosing_method 插入模板被插入其中的那个方法的名称。 method() 

enclosing_method_arguments 为包围方法插入参数。 arg1, arg2 

enclosing_package 插入当前类的包名。 com.example.ui 

enclosing_project 插入包含所编辑的这个类的项目的名称。 myProject 

enclosing_type 插入正在编辑的类型(类)的名称。 MyType 

exception_variable_name 插入一个异常变量名称,进行最佳猜测。 e, ioe 

file 文件的简称。 MyType.java 

import 如果尚未导入,那么针对给定类型插入一个导入声明。 import com.example.ui.MyOtherType 

importStatic 与 import 相同,只不过是静态导入。 import static com.example.ui.MyOtherType.* 

line_selection 将选中的行插入到这里。这对用模板包装行是很有用的。 以选中行作为主体的 do、while 循环 

primary_type_name 没有扩展名的文件简称。 MyType 

time 插入当前的时间。

todo 注释中的 TODO 标记。 TODO 

user 当前用户的名字。 ngood 

var 解析为本地变量,如果不只一个,就提供一个列表。 myvar 

word_selection 插入当前选中的单词。 N/A 

year 将现在的年份插入到代码中。 2010

分享到:
评论

相关推荐

    Eclipse注释模板变量补丁

    Eclipse的代码注释模板很丰富,如:user、year、date、time等等,通过在eclipse.ini文件中-Duser.name=xxxx进行配置,但是Eclipse的Preferences界面至今都不支持定制自己的注释模板变量,要新增一个注释变量的话,就...

    Eclipse 代码注释模板

    在Eclipse中,用户可以自定义代码注释模板,这通常涉及到类、方法、变量等不同类型的注释结构。`codetemplates.xml`文件就是存储这些自定义模板的配置文件,通过编辑这个文件,我们可以定制符合个人或团队编码规范的...

    Eclipse Java 注释模板

    通过以上方式,你可以根据实际需求定制自己的Java注释模板,使编码过程更加高效且规范。对于团队协作来说,共享一致的注释模板也能进一步提高沟通效率,减少不必要的误解。 总之,Eclipse Java注释模板是提升开发...

    Eclipse注释模板和格式化模板.zip

    在Eclipse中,注释模板和格式化模板是两个非常实用的功能,可以帮助开发者快速编写规范、一致的代码。本资料包“Eclipse注释模板和格式化模板.zip”包含了配置这两个功能所需的文件。 首先,我们来看看`code...

    Eclipse注释模板自定义

    本篇文章将详细探讨如何在Eclipse中自定义注释模板,以及如何通过`eclipse.ini`配置文件来管理版权信息和团队设置。 一、Eclipse注释模板自定义 1. **打开Eclipse注释模板设置** 要自定义注释模板,首先需要进入...

    Eclipse/MyEclipse Java注释模板设置详解

    在Java开发过程中,Eclipse和MyEclipse作为两款流行的集成开发环境...通过以上步骤,你可以轻松定制自己的Java代码注释模板,提升开发效率,保持代码整洁。记得定期更新和优化你的模板,使之更符合项目需求和个人习惯。

    eclipse注释模板.xml + 修改模板方法 + 使用方法

    Eclipse的注释模板允许程序员快速插入预定义的注释结构,例如类、方法或变量的注释,而无需手动输入每一行。这不仅节省时间,而且有助于保持团队间的一致性和代码文档的完整性。注释模板是通过XML文件存储的,我们...

    Eclipse代码注释模板——code templates

    Eclipse的代码注释模板允许用户自定义不同类型的注释模板,如类、方法、变量等。这些模板可以在编写代码时自动插入,减少手动输入的时间。模板支持包括但不限于以下类型: 1. 类注释(Class) 2. 方法注释(Method...

    eclipse经典注释模板

    Eclipse是一款广泛使用的Java集成开发环境(IDE),它拥有丰富的功能和高度可定制性,其中就包括了自定义注释模板和代码格式化模板。这些模板对于提高开发效率、保持代码一致性以及提升团队协作有着重要作用。 注释...

    eclipse中代码注释模板

    在Eclipse中,你可以为不同的注释类型(如类、方法、变量)创建模板,这样每次需要添加注释时,只需通过快捷键或菜单选项即可快速插入预定义的模板。这不仅节约时间,还能确保注释风格的一致性。在`codeTemplates....

    Eclipse/MyEclipse注释模板和格式化模板的使用

    在Eclipse和MyEclipse中,你可以为不同的代码类型(如类、方法、变量)创建自定义的注释模板。例如,你可以设定一个类注释模板,包含作者、日期、版权等信息,只需简单地输入快捷键或通过菜单选择,就能自动插入完整...

    eclipse中java注释模板

    三、自定义注释模板变量 Eclipse的注释模板支持许多预定义的变量,例如`${class_name}`、`${user}`、`${date}`等。这些变量在实际使用时会被自动替换为相应的值。你还可以自定义变量,例如在模板中添加`@since`标签...

    Eclipse Java注释模板设置详解

    ### Eclipse Java注释模板设置详解 在开发过程中,良好的代码注释习惯对于提高代码的可读性和维护性...通过上述步骤,可以在Eclipse中为Java项目定制各种注释模板,提高代码的可读性和维护性。希望本文对您有所帮助!

    eclipse 注释模板

    Eclipse 是一款强大的集成开发环境(IDE),广泛用于Java编程,同时也支持其他多种语言。它提供了许多便捷的功能,其中就包括自定义注释模板。...所以,掌握和定制Eclipse的注释模板是一项非常实用的技能。

    在Eclipse下面使用注释模板自动生成说明

    在Eclipse这款强大的Java开发工具中,利用注释模板功能可以极大地提高开发效率,尤其是在编写文档注释或者标准代码注释时。通过自定义注释模板,开发者可以根据需要快速生成符合规范的注释,减少手动输入的时间。这...

    Eclipse 添加注释模板

    在这里,你可以看到Eclipse为Java源代码提供的默认注释模板,包括类、方法和字段的注释。 1. **类注释模板**: 在“类”选项卡下,你可以看到预设的类注释模板。点击“编辑”(Edit)按钮,可以自定义模板内容。...

    Myeclipse/eclipse注释模板一键导入配置

    总结来说,"Myeclipse/eclipse注释模板一键导入配置"是提高开发效率的重要手段,通过导入"配置myeclipse注释模板.txt"和"codetemplates.xml"文件,可以快速地定制和统一团队的代码注释风格,使得代码更易于理解和...

    eclipse 注释模版

    Eclipse是一款广泛使用的Java集成开发环境(IDE),它拥有丰富的功能和高度可定制性,其中就包括了自定义代码注释模板的特性。这个特性使得开发者可以快速输入各种类型的注释,提高编码效率和代码规范性。在提供的...

Global site tag (gtag.js) - Google Analytics