How can I change keyboard shortcut bindings in Visual Studio Code?

Visual Studio-CodeVscode Settings

Visual Studio-Code Problem Overview


Using Visual Studio Code what is the procedure to:

  • Remap a built in command's keyboard shortcut. For example, say, Open File (default is Ctrl+O, it's unlikely that anyone would actually change this, but the same process should probably apply for any built in shortcut).

  • Remap an extension command's keyboard shortcut, say the Bookmark extension's toggle-bookmark (default Ctrl+Alt+K)

IN 2015, this involved editing configuration JSON files, but I don't know which one, or how. In 2021 there's a new UI, how do I find it?

Visual Studio-Code Solutions


Solution 1 - Visual Studio-Code

Click File -> Preferences -> Keyboard shortcuts. Use the tab that opens up to edit and find available key bindings and assign them. enter image description here

Historical Note: In very early versions of visual studio code, you would Click File -> Preferences -> Keyboard shortcuts and you would get JSON like this keybindings.json:

// Place your key bindings in this file to overwrite the defaults
[	{ "key": "ctrl+o",                "command": "workbench.action.files.openFile" },	    { "key": "ctrl+alt+k",            "command": "bookmarks.toggle",                                     "when": "editorTextFocus" }]

But now in 2021 versions, there is a proper GUI, which is great because the json editing method was error prone and hard to discover.

The json editor feature has been moved to a new icon:

enter image description here

Solution 2 - Visual Studio-Code

If you want to change the advance settings of keyboard shortcut such as when then you can follow these steps:

Update:(Thanks @phdoerfler for pointing it out that icon has changed)

File->Preferences->Keyboard Shortcuts Click on icon on top right corner that says "Open Keyboard Shortcuts(JSON)" to open JSON version and place the keybinding.

Image showing icon

You can find this in Documentation here.

Solution 3 - Visual Studio-Code

The way to open the JSON file changed yet again in a recent version.

You need to click the middle of the three buttons in the tab bar.

enter image description here

You only need to do that if the change you need isn't possible on the normal settings screen.

Solution 4 - Visual Studio-Code

On Windows:

  • go to File -> Preferences -> Keyboard shortcuts,
  • or press Ctrl+K, then Ctrl+S,
  • or edit %UserProfile%\AppData\Roaming\Code\User\keybindings.json file

On Mac:

  • go to Code -> Preferences -> Keyboard shortcuts,
  • or press Cmd+K, then Cmd+S

Keep in mind you can type things like shift ctrl c in the Search input in Keyboard Shortcuts panel to find commands by their keybindings.

Here you can find documentation which among other stuff contains also information about what When conditions you can use.

Solution 5 - Visual Studio-Code

The latest version of Visual Studio Code 1.11.0 provides a rich and easy keyboard shortcuts editing experience using a new Keyboard Shortcuts editor. Read more here on their website.

Solution 6 - Visual Studio-Code

I will not repeat others answers! And if like me! You get to install a mapping extension!

My prefered is Visual studio keys map

And the question would have been how you select it! How you change it ! Can we install multiples! And select between them!

First here some useful links about key binding and shortcuts

https://code.visualstudio.com/docs/getstarted/keybindings

https://code.visualstudio.com/docs/getstarted/tips-and-tricks

And before any, know that you can get to the keymaps extension by using the bottom left settings button for settings context menu! As in the picture bellow:

enter image description here

or through file>Preferences>keymap

enter image description here

Then you have to install one of the keymaps

enter image description here

The thing to know is that it will take place and make the changes right away!

What if you install another?

The new one take over! Or some mix! I couldn't tell! And you may have problems!

How you change from one to another?

Remove the old ! remove the new one! And install it again! That's the way that i found it works! Disabling and reenabling didn't work!

And better always let only one installed at a time!

Unfortunitly as by Now 2020-05-08 no options to select between keys mapping exist!

Undo a keymap

Just remove! You may need to restart the editor!

Restart the editor

Also note that if you uninstalled all and reinstalled the one you want! And changes didn't take place! Close the editor and reopen it! That's help!

I hope that's help and may be save you some searching time!

And sure in the future we will have better handling! As vscode is just keeping getting more awesome and awesome! So an option to select and better handling will is expected to be added! And we will wait for it!

Solution 7 - Visual Studio-Code

FYI on mac the keybindings.json file sits there:

/Users/your_user_name/Library/Application Support/Code/User/keybindings.json

Solution 8 - Visual Studio-Code

On Windows: Ctrl + K, then S

On Mac: + K then + S

This opens Keyboard Shortcuts Editor. It's searchable/filterable by either shortcut name or the key combination itself (example: type "ctrl" to see all bindings to the CTRL key.)

Image: vscode search keyword shortcuts panel

Solution 9 - Visual Studio-Code

  1. Open Key Shortcuts from Preferences -> Keyboard Shortcuts
  2. Search for the action in search field
  3. Right click on one of the results and select "Show same keybindings"
  4. Delete the conflicting key binding!

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionWarren PView Question on Stackoverflow
Solution 1 - Visual Studio-CodeWarren PView Answer on Stackoverflow
Solution 2 - Visual Studio-CodenoumanniaziView Answer on Stackoverflow
Solution 3 - Visual Studio-CodeNeluView Answer on Stackoverflow
Solution 4 - Visual Studio-CodeПавлеView Answer on Stackoverflow
Solution 5 - Visual Studio-CodeIsak La FleurView Answer on Stackoverflow
Solution 6 - Visual Studio-CodeMohamed AllalView Answer on Stackoverflow
Solution 7 - Visual Studio-CodeMaxime BeauView Answer on Stackoverflow
Solution 8 - Visual Studio-CodeJonahsAttemptView Answer on Stackoverflow
Solution 9 - Visual Studio-CodeAyyappaView Answer on Stackoverflow