zoukankan      html  css  js  c++  java
  • Eclipse 改动凝视的 date time 日期时间格式,即${date}变量格式

    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:假设嫌下载源代码包麻烦。我这里贴出这个文件的源代码,能够直接用(注:这个类非常easy。无多少依赖。全部版本号通用,无需操心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格式,能够借鉴。


    我提供编译好的class文件供大家下载(下载以下的图片。把jpg后缀 改成rar后缀。然后打开)。替换到原文件就可以。










  • 相关阅读:
    [时间篇TIME]Learn with whole Life 一生的学习
    使用IIS内置压缩功能,增加网站访问速度
    CSS中A链接样式的 "爱恨"原则
    爱情六十三课,定个开放日
    给爱子的信
    在IE中使用高级CSS3选择器
    爱情六十七课,下台阶的学问
    网上常用免费WebServices集合
    美国狗证上的10句话
    爱情六十五课,情爱无智者
  • 原文地址:https://www.cnblogs.com/yxwkf/p/5091033.html
Copyright © 2011-2022 走看看