大家好,又见面了,我是全栈君。
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后缀。然后打开)。替换到原文件就可以。
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/116486.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...