如何在vscode中插入当前日期时间?

时间:2016-08-05 02:08:53

标签: visual-studio-code

有谁知道我可以插入当前日期和方式的方式;通过片段在视觉工作室代码中的时间?

我看过文档,但没有得到任何有关它的信息。

我想创建一个这样的片段:

title: theFileTitle
date: 2016-08-05 09:44:16

8 个答案:

答案 0 :(得分:32)

我为您创建了一个扩展程序,允许插入格式化的日期和/或时间字符串 - Insert Date String

<强>安装

F1 打开命令选项板,键入ext install +按Enter,然后查找插入日期字符串扩展名。

<强>用法

要在光标位置插入当前日期和/或时间,您可以:

+ + I (OS X)或 Ctrl + Shift + I (Windows和Linux),或按 F1 打开命令选项板并键入Insert DateTime然后按输入

<强>配置

默认情况下,您不必设置任何内容。但是,如果您想更改日期时间格式,请在用户设置中查找insertDateString.format选项。

// Date format to be used.
"insertDateString.format": "YYYY-MM-DD hh:mm:ss",

您可以指定任何有效的ISO 8601格式。有一些examples in readme

<强>段

不幸的是,您不能在片段中使用制表位或变量,因此您必须手动输入标题和日期/时间。

你可以define snippets for specific languages。要打开要编辑的代码段文件,请在User Snippets下打开File > Preferences (Code > Preferences on Mac OS X),然后选择要显示代码段的语言。

以下示例适用于纯文本文件。

打开纯文本的代码段文件后,添加以下定义:

{
     "File header": {
        "prefix": "header",
        "body": [
            "title: ${title:Enter title}",
            "date: ${date:Insert datetime string (⇧⌘I or Ctrl+Shift+I)}"
        ]
    }
}

现在您可以打开新的纯文本文件,输入header并按Tab。输入您的标题并使用Insert DateTime命令插入当前日期和/或时间。

enter image description here

更可定制解决方案的想法

可以编写用于插入此类标头的扩展程序。这样可以使用某些具有多个预定义变量的模板(例如日期,文件名,可配置的用户名/电子邮件等)。

希望这会有所帮助!!

答案 1 :(得分:16)

自2018年1月(版本1.20)起,您可以使用non-data descriptor

上面的示例如下所示:

str.split

答案 2 :(得分:6)

如果您不想创建代码段,则有一种使用键绑定的简单方法。

open keybindings.json(首选项:打开键盘快捷键(JSON)),然后将其他代码添加到您的keybindings.json

[
    {
        "key": "cmd+k t",
        "command": "editor.action.insertSnippet",
        "when": "editorTextFocus",
        "args": {
            "snippet": "$CURRENT_YEAR-$CURRENT_MONTH-$CURRENT_DATE $CURRENT_HOUR:$CURRENT_MINUTE:$CURRENT_SECOND"
        }
    }
]

仅此而已。

现在您可以在输入时使用cmd+k t插入当前数据时间。

答案 3 :(得分:2)

env变量TM_FILENAME将自动用文件名填充标题。

例如:

"title: ${1:$TM_FILENAME_BASE}"

答案 4 :(得分:0)

要获取比vscode代码段更复杂的日期时间表达式,请参见Command Variable扩展名。它使用Intl.DateTimeFormat格式,并且可以像这样在键绑定中使用:

 {
    "key": "alt+d",
    "when": "editorTextFocus",
    "command": "extension.commandvariable.dateTimeInEditor",

    "args": {
      "locale": "en-US",
      "options": {
        "year": "numeric",
        "month": "long",
        "weekday": "long",
        "day": "2-digit",
        "hour12": false,
        "hour": "2-digit",
        "minute": "2-digit",
        "second": "2-digit"
      },
      "template": "${month} ${day}, (${weekday}), ${year} - ${hour}:${minute}::${second}"
    }
  },

生产

March 25, (Wednesday), 2020 - 21:16::49

和许多其他时间戳版本。在Intl.DateTimeFormat

中查看可能性

答案 5 :(得分:0)

这可能有些过分,但是您可以检查Org Mode extension并具有此功能及更多功能:

Org Mode change date gif

答案 6 :(得分:0)

您可以只在代码片段中使用以下变量:

$CURRENT_YEAR
$CURRENT_YEAR_SHORT
$CURRENT_MONTH
$CURRENT_DATE
$CURRENT_HOUR
$CURRENT_MINUTE
$CURRENT_SECOND

VSCode 官方文档链接:
date and time in snippets
user defined snippets

答案 7 :(得分:-1)

您还可以使用代码之外的工具,例如Texter。 我已将其配置为将Found the following significant warnings: Warning: bad markup (extra space?) at railtrails.Rd:13:26 See ‘/private/var/folders/95/z6jql6w546vd0brdwm722s5r0000gn/T/RtmpJ7q9ou/railtrails.Rcheck/00install.out’ for details. checking Rd files ... WARNING prepare_Rd: bad markup (extra space?) at railtrails.Rd:13:26 ``` Here is what seems to be the offending code: ``` #' Rail-trail trail data #' #' Information and reviews for rail-trails in the United States #' #' @source https://www.traillink.com/ #' @format Data frame with columns #' \describe{ #' \item{name}{Name of rail trail} #' \item{distance}{distance (miles)} #' \item{surface}{surface material} #' \item{category}{trail category} #' \item{mean review rating} #' \item{description}{text description of trail} #' \item{n_reviews}{number of reviews} #' \item{raw_reviews}{list column with a vector of reviews} #' } #' @importFrom tibble tibble #' @examples #' railtrails #' #' # to expand vector of review ratings in raw_reviews column: #' library(tidyr) #' railtrails <- railtrails %>% unnest(raw_reviews) "railtrails" 替换为[t,这样我输入的时间为[9/11/2017 16:30],无论应用程序如何。