在 vscode 如何快速生成名称中包含日期时间的新文件?

in vscode how can I quickly generate a new file with datetime in the name?

我正在尝试使用键盘快捷键来创建一个以日期时间作为前缀和我输入的一些附加文本的新文件。

我知道有一个生成新文件的快捷方式,我已经看到用于将日期时间插入编辑器的片段和扩展,但这些扩展似乎在新文件名对话框中不起作用。

谢谢!

试试这个。我正在使用 bash shell,因此您可能需要为 shell.

修改 shell 命令

在tasks.json中:

{
  "version": "2.0.0",
  "tasks": [
    {
      "label": "newFile",
      "command": "touch `date +%Y%m%d-%H%M`-${input:fileName}.txt",

          // to create and open this new file use the following instead
      // "command": "touch `date +%Y%m%d-%H%M`-${input:fileName}.txt; code . `date +%Y%m%d-%H%M`-${input:fileName}.txt",

      "type": "shell",
      "problemMatcher": [],
      "presentation": {
        "echo": false,
        "reveal": "silent",
        "focus": false,
        "panel": "shared",
        "showReuseMessage": false,
        "clear": true
      },
      "promptOnClose": false
    }
  ],

  "inputs": [
    {
      "type": "promptString",
      "id": "fileName",
      "description": "Complete my file name.",
      "default": "new file name"                  // make your default text here
    }
  ]
}

我使用了 bash 命令 touchdate,如果您使用的是非 unix 类型 shell,则必须针对类似的类型修改它创建一个文件并添加时间戳命令。还有文件扩展名(如果你愿意,你可以把它做成另一个 promptString)——这里只是硬编码为 .txt.

该任务将创建一个新文件,其中包含格式化的时间戳,然后暂停以供您添加要添加的额外文本。参见 task inputs

任务可以是来自命令选项板Run task命令的运行或设置键绑定到运行任务,像这样(在keybindings.json中):

{
  "key": "alt+r",            // whatever keybinding you want
  "command": "workbench.action.tasks.runTask",
  "args": "newFile"
}

unix date examples and more unix date formatting examples

也许 espanso 文本扩展器可以提供一些帮助。

对于 Mac 用户,我的别名中有这一行,它将日期复制到剪贴板中。您也可以将其添加到您的 Alfred 脚本中。

alias today='date '+%m-%d-%Y' | pbcopy'