http://blog.csdn.net/zollty/article/details/46459621
Eclipse 修改注释的 date time 日期时间格式,即${date}变量格式
找到eclipse安装目录下面的plugins目录,搜索 org.eclipse.text ,找到一个jar包,
例如我找到的jar包为:org.eclipse.text_3.5.300.v20130515-1451.jar
然后打开它,找到这个类: org.eclipse.jface.text.templates.GlobalTemplateVariables
我们重写这个类就行了。(可反编译,也可以找到源码,源码下载地址为:http://Git.eclipse.org/c/platform/eclipse.platform.text.git,下载zip包) PS:如果嫌下载源码包麻烦,我这里贴出这个文件的源码,可以直接用(注:这个类很简单,无多少依赖,所有版本通用,无需担心jar包的版本问题)
- /*******************************************************************************
- * 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 com.ibm.icu.text.DateFormat;
- import com.ibm.icu.util.Calendar;
- /**
- * Global variables which are available in any context.
- * <p>
- * Clients may instantiate the classes contained within this class.
- * </p>
- *
- * @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());
- }
- }
- /**
- * 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());
- }
- }
- /**
- * 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$
- }
- }
- }
自行拿去修改就行了。改一下Date Time Year就行了,例如,我修改的结果如下:
- /*******************************************************************************
- * 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 java.util.Calendar;
- /**
- * Global variables which are available in any context.
- * <p>
- * Clients may instantiate the classes contained within this class.
- * </p>
- *
- * @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());
- final SimpleDateFormat df = new SimpleDateFormat(TextTemplateMessages.getString("GlobalVariables.variable.format.date"));
- 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));
- 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) {
- final SimpleDateFormat df = new SimpleDateFormat(TextTemplateMessages.getString("GlobalVariables.variable.format.time"));
- return df.format(new java.util.Date());
- //return DateFormat.getTimeInstance().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$
- }
- }
- }
我改成了使用
import Java.text.SimpleDateFormat;
import java.util.Calendar;
并且从properties文件中读取format格式,可以借鉴。