VS Code - Add a new file under the selected working directory

The cmd+n command is by default bound to workbench.action.files.newUntitledFile but what you want is the command explorer.newFile which by default is not bound to a shortcut.

Edit shortcuts file

Hit Cmd+Shift+p type key and hit enter on Preferences: Open Keyboard Shortcuts (JSON)

This will open keybindings.json file which stores custom keybindings specified by the current VS Code user.

Enter the following in the custom bindings file (presumably you need to enter cmd+n instead of ctrl+n but I'm on windows so can't test

[
  { "key": "ctrl+n", "command": "explorer.newFile" }
]

If you want to only have this apply when the explorer is focused you can add a when condition:

{ "key": "ctrl+n", "command": "explorer.newFile", "when": "explorerViewletFocus" }

This way when any other component is focused pressing Ctrl+n will execute the default new file command

Edit using shortcuts UI

Hit Cmd+Shift+p type key and hit enter on Preferences: Open Keyboard Shortcuts

This will open up the keyboard shortcut preferences UI.

Type explorer.newFile in the search to find the new file command, double click it to bring up the shortcut capture modal and press the key combination you want to associate with this command.


    { 
        "key": "ctrl+n", 
        "command": "explorer.newFile",
        "when": "explorerViewletFocus"
    }

Paste it in the Keybindings.json by pressing F1 key and search for Preference: Keyboard(JSON).


You can use this method if you don't want to create a shortcut.

  1. Navigate to the explorer via cmd+shift+e
  2. Get to the folder you want to create a new file/folder in.
  3. Open the file picker via cmd+shift+p
  4. Then type New File or New Folder and enter.

That is how you create a new file/folder without touching the mouse. :)


To add files or folders add the following lines to keybindings.json:

Updated answer on 2020/02/10 (Thanks to @AbrahamHernandez, who provided the comment).

[
  { "key": "ctrl+n",
    "command": "explorer.newFile",
    "when": "!editorFocus" },

  { "key": "ctrl+shift+n",
    "command": "explorer.newFolder",
    "when": "!editorFocus" }
]

These bindings are active if the editor is not focused.

They are also triggered if the debug window is active. That's not perfect but the context explorerFocus is going to be added in the near future: see GitHub