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

I'm trying to be able to have a keyboard shortcut that creates a new file with the datetime as the prefix and some additional text that I enter.

I know there is a shortcut for generating a new file and I've seen snippets and extensions used to insert datetime into the editor but those extensions don't seem to work in the new filename dialog box.

Thanks!



Solution 1:[1]

Try this. I'm using the bash shell so you may have to modify the shell commands for your shell.

In 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
    }
  ]
}

I used the bash commands touch and date, if you are using a non-unix type shell you'll have to modify that for your similar create a file and add timestamp commands. And the file extension too (you could make that another promptString if you wish) - here jus hard-coded as .txt.

The task will create a new file with the timestamp as formatted followed by a pause for you to add the extra text you wanted to add. See task inputs.

The task could be run from the command palette Run task command or set a keybinding to run the task like this (in keybindings.json):

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

create a file with timestamp

unix date examples and more unix date formatting examples

Solution 2:[2]

maybe espanso a text expander could give some help.

Solution 3:[3]

For Mac users, I have this line in my alias which copies the date into your clipboard. You can also add this to your Alfred scripts.

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

Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source
Solution 1
Solution 2 Cong Wu
Solution 3 Yar