`
yawolf
  • 浏览: 13783 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

修改Eclipse的Date变量格式

阅读更多

    自从Eclipse升级到3.2版本以后,其代码模板的当前日期变量{$Date}的格式就不再符合国人习惯。在3.2版本中,日期格式为“2007-5-10 上午06:58:10”格式;在3.3版本中,日期格式则为“2007 五月 10 17:20:02”格式。我还是习惯采用“yyyy/MM/dd HH:mm:ss”格式,但无论怎么修改Windows系统的区域设置,Eclipse的Date格式还是没有变化。

Eclipse 的Date变量在GlobalTemplateVariables类中定义,如果要修改日期格式,则需要修改GlobalTemplateVariables类。这个类在Eclipse插件目录org.eclipse.text_3.3.0.v20070503-0800.jar(3.3.0 M7版本)文件的org.eclipse.jface.text.templates包中,我的办法是:

1、在eclipse的源代码中修改org.eclipse.text项目的GlobalTemplateVariables类。

日期格式修改为:

java 代码
 
  1. protected String resolve(TemplateContext context) ...{  
  2.         // return DateFormat.getDateInstance().format(new java.util.Date());  
  3.         // Modified by yawolf@gmail.com  
  4.         final SimpleDateFormat df = new SimpleDateFormat("yyyy/MM/dd");  
  5.         return df.format(new java.util.Date());  
  6.     }  

 

 时间格式修改为:

java 代码
 
  1. /**
  2.  * {@inheritDoc} 
  3.  */  
  4. protected String resolve(TemplateContext context) ...{  
  5.     // return DateFormat.getTimeInstance().format(new java.util.Date());  
  6.     // Modified by yawolf@gmail.com  
  7.     final SimpleDateFormat ldf = new SimpleDateFormat("HH:mm:ss");  
  8.     return ldf.format(new java.util.Date());  
  9. }  

 

2、将修改过的类编译,然后再打包成org.eclipse.text_3.3.0.v20070503-0800.jar文件,并放进Eclipse插件目录。

3、重启Eclipse系统,即可使用新的&{Date}及%{Time}格式。

以下是我的文件头注释模板:

java 代码
 
  1. /**
  2.  * @(#)${file_name} 1.0.0 ${date} ${time} 
  3.  * 
  4.  * Copyright ${year} Cepiao Co. Ltd.  All rights reserved. 
  5.  * CEPIAO PROPRIETARY/CONFIDENTIAL. Use is subject to license terms. 
  6.  */  

 

类注释模板:

java 代码
 
  1. /**  
  2.  * Class ${type_name} 
  3.  * 
  4.  * @author  
  5.  * @version $$Revision:1.0.0, $$Date: ${date} ${time} $$ 
  6.  * ${tags} 
  7.  */  

 

以下是新生成的Test类:

java 代码
 
  1. /** 
  2.  * @(#)Test.java 1.0.0 2007/05/10 14:10:11 
  3.  * 
  4.  * Copyright 2007 Cepiao Co. Ltd.  All rights reserved. 
  5.  * CEPIAO PROPRIETARY/CONFIDENTIAL. Use is subject to license terms. 
  6.  */  
  7. package com.cepiao.test;  
  8.   
  9. /** 
  10.  * Class Test 
  11.  * 
  12.  * @author  
  13.  * @version $Revision:1.0.0, $Date: 2007/05/10 14:10:11 $ 
  14.  */  
  15. public class Test {  
  16.   
  17. }  

 

发下是修改过的GlobalTemplateVariables类源代码:

java 代码
 
  1. /******************************************************************************* 
  2.  * Copyright (c) 2000, 2006 IBM Corporation and others. 
  3.  * All rights reserved. This program and the accompanying materials 
  4.  * are made available under the terms of the Eclipse Public License v1.0 
  5.  * which accompanies this distribution, and is available at 
  6.  * http://www.eclipse.org/legal/epl-v10.html 
  7.  * 
  8.  * Contributors: 
  9.  *     IBM Corporation - initial API and implementation 
  10.  *     Sebastian Davids: sdavids@gmx.de - see bug 25376 
  11.  *******************************************************************************/  
  12. package org.eclipse.jface.text.templates;  
  13.   
  14. import java.text.SimpleDateFormat;  
  15.   
  16. //import com.ibm.icu.text.DateFormat;  
  17. import com.ibm.icu.util.Calendar;  
  18.   
  19. /**  
  20.  * Global variables which are available in any context. 
  21.  * 

     

     
  22.  * Clients may instantiate the classes contained within this class. 
  23.  * 

     

     
  24.  *  
  25.  * @since 3.0 
  26.  */  
  27. public class GlobalTemplateVariables ...{  
  28.   
  29.     /**  The type of the selection variables. */  
  30.     public static final String SELECTION = "selection"//$NON-NLS-1$  
  31.   
  32.     /**  
  33.      * The cursor variable determines the cursor placement after template 
  34.      * edition. 
  35.      */  
  36.     public static class Cursor extends SimpleTemplateVariableResolver ...{  
  37.   
  38.         /** Name of the cursor variable, value= {@value} */  
  39.         public static final String NAME = "cursor"//$NON-NLS-1$  
  40.   
  41.         /**  
  42.          * Creates a new cursor variable 
  43.          */  
  44.         public Cursor() ...{  
  45.             super(NAME, TextTemplateMessages  
  46.                     .getString("GlobalVariables.variable.description.cursor")); //$NON-NLS-1$  
  47.             setEvaluationString(""); //$NON-NLS-1$  
  48.         }  
  49.     }  
  50.   
  51.     /**  
  52.      * The word selection variable determines templates that work on a full 
  53.      * lines selection. 
  54.      */  
  55.     public static class WordSelection extends SimpleTemplateVariableResolver ...{  
  56.   
  57.         /**  Name of the word selection variable, value= {@value} */  
  58.         public static final String NAME = "word_selection"//$NON-NLS-1$  
  59.   
  60.         /**  
  61.          * Creates a new word selection variable 
  62.          */  
  63.         public WordSelection() ...{  
  64.             super(  
  65.                     NAME,  
  66.                     TextTemplateMessages  
  67.                             .getString("GlobalVariables.variable.description.selectedWord")); //$NON-NLS-1$  
  68.         }  
  69.   
  70.         protected String resolve(TemplateContext context) ...{  
  71.             String selection = context.getVariable(SELECTION);  
  72.             if (selection == null)  
  73.                 return ""//$NON-NLS-1$  
  74.             return selection;  
  75.         }  
  76.     }  
  77.   
  78.     /**  
  79.      * The line selection variable determines templates that work on selected 
  80.      * lines. 
  81.      */  
  82.     public static class LineSelection extends SimpleTemplateVariableResolver ...{  
  83.   
  84.         /**  Name of the line selection variable, value= {@value} */  
  85.         public static final String NAME = "line_selection"//$NON-NLS-1$  
  86.   
  87.         /**  
  88.          * Creates a new line selection variable 
  89.          */  
  90.         public LineSelection() ...{  
  91.             super(  
  92.                     NAME,  
  93.                     TextTemplateMessages  
  94.                             .getString("GlobalVariables.variable.description.selectedLines")); //$NON-NLS-1$  
  95.         }  
  96.   
  97.         protected String resolve(TemplateContext context) ...{  
  98.             String selection = context.getVariable(SELECTION);  
  99.             if (selection == null)  
  100.                 return ""//$NON-NLS-1$  
  101.             return selection;  
  102.         }  
  103.     }  
  104.   
  105.     /**  
  106.      * The dollar variable inserts an escaped dollar symbol. 
  107.      */  
  108.     public static class Dollar extends SimpleTemplateVariableResolver ...{  
  109.         /** 
  110.          * Creates a new dollar variable 
  111.          */  
  112.         public Dollar() ...{  
  113.             super(  
  114.                     "dollar", TextTemplateMessages.getString("GlobalVariables.variable.description.dollar")); //$NON-NLS-1$ //$NON-NLS-2$  
  115.             setEvaluationString("$"); //$NON-NLS-1$  
  116.         }  
  117.     }  
  118.   
  119.     /**  
  120.      * The date variable evaluates to the current date. 
  121.      */  
  122.     public static class Date extends SimpleTemplateVariableResolver ...{  
  123.         /**  
  124.          * Creates a new date variable 
  125.          */  
  126.         public Date() ...{  
  127.             super(  
  128.                     "date", TextTemplateMessages.getString("GlobalVariables.variable.description.date")); //$NON-NLS-1$ //$NON-NLS-2$  
  129.         }  
  130.   
  131.         protected String resolve(TemplateContext context) ...{  
  132.             // return DateFormat.getDateInstance().format(new java.util.Date());  
  133.             // Modified by yawolf@gmail.com  
  134.             final SimpleDateFormat df = new SimpleDateFormat("yyyy/MM/dd");  
  135.             return df.format(new java.util.Date());  
  136.         }  
  137.     }  
  138.   
  139.     /**  
  140.      * The year variable evaluates to the current year. 
  141.      */  
  142.     public static class Year extends SimpleTemplateVariableResolver ...{  
  143.         /** 
  144.          * Creates a new year variable 
  145.          */  
  146.         public Year() ...{  
  147.             super(  
  148.                     "year", TextTemplateMessages.getString("GlobalVariables.variable.description.year")); //$NON-NLS-1$ //$NON-NLS-2$  
  149.         }  
  150.   
  151.         protected String resolve(TemplateContext context) ...{  
  152.             return Integer.toString(Calendar.getInstance().get(Calendar.YEAR));  
  153.         }  
  154.     }  
  155.   
  156.     /** 
  157.      * The time variable evaluates to the current time. 
  158.      */  
  159.     public static class Time extends SimpleTemplateVariableResolver ...{  
  160.         /**  
  161.          * Creates a new time variable 
  162.          */  
  163.         public Time() ...{  
  164.             super(  
  165.                     "time", TextTemplateMessages.getString("GlobalVariables.variable.description.time")); //$NON-NLS-1$ //$NON-NLS-2$  
  166.         }  
  167.   
  168.         /**  
  169.          * {@inheritDoc} 
  170.          */  
  171.         protected String resolve(TemplateContext context) ...{  
  172.             // return DateFormat.getTimeInstance().format(new java.util.Date());  
  173.             // Modified by yawolf@gmail.com  
  174.             final SimpleDateFormat ldf = new SimpleDateFormat("HH:mm:ss");  
  175.             return ldf.format(new java.util.Date());  
  176.         }  
  177.     }  
  178.   
  179.     /**  
  180.      * The user variable evaluates to the current user. 
  181.      */  
  182.     public static class User extends SimpleTemplateVariableResolver ...{  
  183.         /**  
  184.          * Creates a new user name variable 
  185.          */  
  186.         public User() ...{  
  187.             super(  
  188.                     "user", TextTemplateMessages.getString("GlobalVariables.variable.description.user")); //$NON-NLS-1$ //$NON-NLS-2$  
  189.         }  
  190.   
  191.         /**  
  192.          * {@inheritDoc} 
  193.          */  
  194.         protected String resolve(TemplateContext context) ...{  
  195.             return System.getProperty("user.name"); //$NON-NLS-1$  
  196.         }  
  197.     }  
  198. }  

 

分享到:
评论

相关推荐

    修改Eclipse注释里的${Date}变量格式

    附件是一个重新编译好的jar包文件,因为不让传.jar文件,所以我把后缀改成了.zip,下载后直接将后缀名改为.jar即可。 博文链接:https://ttitfly.iteye.com/blog/154044

    Eclipse注释模板变量补丁

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

    eclipse 注释模板

    在创建模板时,可以使用预定义的变量,如 `${date}` 会自动插入当前日期,`${author}` 插入当前用户的姓名,`${class_name}` 插入类名,`${method}` 插入方法名等。这些变量在插入注释时会被自动替换。 4. **代码...

    eclipse-编码规范系列(一):Eclipse Code Templates设置 - CSDN博客1

    例如,你可以添加或修改变量如`${project_name}`、`${date}`、`${time}`等,以便在生成注释时自动填充当前项目信息和时间戳。 此外,Eclipse还支持导入和导出模板配置,通过点击"Import"按钮,可以导入预先定义好的...

    Eclipse注释模板自定义

    可以使用变量来动态插入如作者名、日期等信息,例如 `${user}` 表示当前登录用户,`${date}` 表示当前日期。 3. **添加自定义模板** 如果需要创建新的注释模板,可以点击“New...”按钮,输入模板名称和适用的代码...

    Eclipse Java 注释模板

    首先,Eclipse的Java注释模板允许开发者预先设定一系列常用的注释格式,如类、方法、变量的注释模板。这些模板包含了如作者、创建日期、版权信息等常见元素,当需要为代码添加注释时,只需通过快捷键或者右键菜单...

    Eclipse 代码注释模板

    在`codetemplates.xml`中,这些模板以XML格式存储,每个模板都有一个唯一的ID和相应的占位符,如`${cursor}`表示光标位置,`${date}`会插入当前日期,`${author}`则会填充默认的作者信息。 为了使用自定义的`code...

    Eclipse Java注释模板设置详解

    - 输入或修改如下示例中的模板内容: ``` /** * @Title: ${file_name} * @Package: ${package_name} * @Description: ${todo}(该文件的作用) * @author: A18ccms (替换为实际作者邮箱) * @date: ${date} ${...

    如何控制代码格式(eclipse&myeclipse通用版)

    ### 如何控制代码格式(Eclipse & MyEclipse 通用版) #### 一、概述 在软件开发过程中,保持良好的代码格式对于提高代码可读性和维护性至关重要。Eclipse 和 MyEclipse 是两款广泛使用的 Java 集成开发环境(IDE)...

    如何配置Eclipse自定义注释

    6. **设置用户变量**:在每个模板中,你可以使用预先定义的变量,如`${user}`代表当前登录的Eclipse用户的名称,`${date}`代表当前日期。你还可以添加自定义变量,点击"Code Templates"窗口右下角的"Variables......

    Eclipse自定义模板设置

    这些信息可以通过变量来实现,例如 ${user}、${date} 和 ${time}。 在实际开发过程中,当我们新建一个类以后,可以通过输入/,然后回车,即可自动按照刚才定义的注释模板格式补齐注释内容。也可以按 shift+alt+j ...

    eclipse注释配置导入.zip

    **Eclipse注释模板** 是一组预设的注释格式,可以根据个人或团队的编码规范进行定制。它们可以应用于类、方法、变量等不同级别的代码元素。通过使用注释模板,开发者可以轻松地添加文档注释,如Javadoc,以及自定义...

    eclipse java注释模板

    <templates><template autoinsert="true" context="fieldcomment_context" deleted="false" description="字段的注释" enabled="true" id="org.eclipse.jdt.ui.text.codetemplates.fieldcomment" name="fieldcomment...

    eclipse注释模版以及说明

    这个模板可能包含了特定于MyEclipse的设置,如额外的注释变量或特定类型的注释格式。 总结,Eclipse的注释模板功能是提高开发效率、保持代码规范的重要工具。通过自定义和利用这些模板,程序员可以快速地生成符合...

    eclipse创建新类自动添加注释的说明

    在这里,`${type_description}`、`${user}`和`${date}`是变量占位符,Eclipse会在创建新类时自动替换这些变量。`type_description`代表类的描述,`user`是当前登录用户的用户名,`date`是当前日期。 步骤4:自定义...

    Eclipse Java注释模板.txt

    Getter 和 Setter 方法注释用于描述访问器和修改器方法。示例如下: ```java /** * @return ${bare_field_name} */ /** * @param ${param} 需要设置的 ${bare_field_name} */ ``` - `${bare_field_name}`:...

    eclipse,linux常用快捷键集锦

    这可以帮助您快速查看变量或方法的定义。 - **Ctrl + Z**: 撤销上一步操作。这是每个开发者都会频繁使用的快捷键。 - **Ctrl + Q**: 跳转至上一次编辑的位置。对于在多个编辑任务间切换很有帮助。 - **End/Home**: ...

Global site tag (gtag.js) - Google Analytics