首页 > 学院 > 开发设计 > 正文

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

2019-11-11 02:22:33
字体:
来源:转载
供稿:网友

http://blog.csdn.net/tenor/article/details/5666195

http://blog.csdn.net/shuchangwen/article/details/42917525

http://blog.sina.com.cn/s/blog_4cef5c7b01017iva.html

http://blog.csdn.net/zollty/article/details/46459621

自从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 代码 PRotected String resolve(TemplateContext context) ...{          // return DateFormat.getDateInstance().format(new java.util.Date());          // Modified by yawolf@Gmail.com          final SimpleDateFormat df = new SimpleDateFormat("yyyy/MM/dd");          return df.format(new java.util.Date());      }  

 

 

 时间格式修改为:

 

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

 

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

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

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

 

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

 

类注释模板:

 

java 代码 /**   * Class ${type_name}  *  * @author   * @version Revision:1.0.0,Date: ${date} ${time} $$   * ${tags}  */  

 

 

以下是新生成的Test类:

 

java 代码 /**  * @(#)Test.java 1.0.0 2007/05/10 14:10:11  *  * Copyright 2007 Cepiao Co. Ltd.  All rights reserved.  * CEPIAO PROPRIETARY/CONFIDENTIAL. Use is subject to license terms.  */  package com.cepiao.test;     /**  * Class Test  *  * @author   * @version $Revision:1.0.0, $Date: 2007/05/10 14:10:11 $  */  public class Test {     }  

 

 

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

 

java 代码 /*******************************************************************************  * Copyright (c) 2000, 2006 IBM Corporation and others.  * All rights reserved. This program and the accompanying materials  * are made available under the terms of the Eclipse Public License v1.0  * which accompanies this distribution, and is available at  * http://www.eclipse.org/legal/epl-v10.html  *  * Contributors:  *     IBM Corporation - initial API and implementation  *     Sebastian Davids: sdavids@gmx.de - see bug 25376  *******************************************************************************/  package org.eclipse.jface.text.templates;     import java.text.SimpleDateFormat;     //import com.ibm.icu.text.DateFormat;  import com.ibm.icu.util.Calendar;     /**   * Global variables which are available in any context.  * 

 

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

 

   *   * @since 3.0  */  public class GlobalTemplateVariables ...{         /**  The type of the selection variables. */      public static final String SELECTION = "selection"; //$NON-NLS-1$         /**       * The cursor variable determines the cursor placement after template      * edition.      */      public static class Cursor extends SimpleTemplateVariableResolver ...{             /** Name of the cursor variable, value= {@value} */          public static final String NAME = "cursor"; //$NON-NLS-1$             /**           * Creates a new cursor variable          */          public Cursor() ...{              super(NAME, TextTemplateMessages                      .getString("GlobalVariables.variable.description.cursor")); //$NON-NLS-1$              setEvaluationString(""); //$NON-NLS-1$          }       }          /**       * The Word selection variable determines templates that work on a full      * lines selection.      */      public static class WordSelection extends SimpleTemplateVariableResolver ...{             /**  Name of the word selection variable, value= {@value} */          public static final String NAME = "word_selection"; //$NON-NLS-1$             /**           * Creates a new word selection variable          */          public WordSelection() ...{              super(                      NAME,                       TextTemplateMessages                               .getString("GlobalVariables.variable.description.selectedWord")); //$NON-NLS-1$          }              protected String resolve(TemplateContext context) ...{              String selection = context.getVariable(SELECTION);              if (selection == null)                  return ""; //$NON-NLS-1$              return selection;          }       }          /**       * The line selection variable determines templates that work on selected      * lines.      */      public static class LineSelection extends SimpleTemplateVariableResolver ...{             /**  Name of the line selection variable, value= {@value} */          public static final String NAME = "line_selection"; //$NON-NLS-1$             /**           * Creates a new line selection variable          */          public LineSelection() ...{              super(                      NAME,                       TextTemplateMessages                               .getString("GlobalVariables.variable.description.selectedLines")); //$NON-NLS-1$          }              protected String resolve(TemplateContext context) ...{              String selection = context.getVariable(SELECTION);              if (selection == null)                  return ""; //$NON-NLS-1$              return selection;          }       }          /**       * The dollar variable inserts an escaped dollar symbol.      */      public static class Dollar extends SimpleTemplateVariableResolver ...{          /**          * Creates a new dollar variable          */          public Dollar() ...{              super(                      "dollar", TextTemplateMessages.getString("GlobalVariables.variable.description.dollar")); //$NON-NLS-1$ //$NON-NLS-2$              setEvaluationString("$"); //$NON-NLS-1$          }       }          /**       * The date variable evaluates to the current date.      */      public static class Date extends SimpleTemplateVariableResolver ...{          /**           * Creates a new date variable          */          public Date() ...{              super(                      "date", TextTemplateMessages.getString("GlobalVariables.variable.description.date")); //$NON-NLS-1$ //$NON-NLS-2$          }              protected String resolve(TemplateContext context) ...{              // return DateFormat.getDateInstance().format(new java.util.Date());              // Modified by yawolf@gmail.com              final SimpleDateFormat df = new SimpleDateFormat("yyyy/MM/dd");              return df.format(new java.util.Date());          }       }          /**       * The year variable evaluates to the current year.      */      public static class Year extends SimpleTemplateVariableResolver ...{          /**          * Creates a new year variable          */          public Year() ...{              super(                      "year", TextTemplateMessages.getString("GlobalVariables.variable.description.year")); //$NON-NLS-1$ //$NON-NLS-2$          }              protected String resolve(TemplateContext context) ...{              return Integer.toString(Calendar.getInstance().get(Calendar.YEAR));          }       }          /**      * The time variable evaluates to the current time.      */      public static class Time extends SimpleTemplateVariableResolver ...{          /**           * Creates a new time variable          */          public Time() ...{              super(                      "time", TextTemplateMessages.getString("GlobalVariables.variable.description.time")); //$NON-NLS-1$ //$NON-NLS-2$          }              /**           * {@inheritDoc}          */          protected String resolve(TemplateContext context) ...{              // return DateFormat.getTimeInstance().format(new java.util.Date());              // Modified by yawolf@gmail.com              final SimpleDateFormat ldf = new SimpleDateFormat("HH:mm:ss");              return ldf.format(new java.util.Date());          }       }          /**       * The user variable evaluates to the current user.      */      public static class User extends SimpleTemplateVariableResolver ...{          /**           * Creates a new user name variable          */          public User() ...{              super(                      "user", TextTemplateMessages.getString("GlobalVariables.variable.description.user")); //$NON-NLS-1$ //$NON-NLS-2$          }              /**           * {@inheritDoc}          */          protected String resolve(TemplateContext context) ...{              return System.getProperty("user.name"); //$NON-NLS-1$          }       }   }
上一篇:九数组分数

下一篇:POP3协议小贴

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表