To change a VS Code keyboard shortcut, confirm the current default in the VS Code Keyboard Shortcuts reference, then edit the binding inside VS Code's built-in Keyboard Shortcuts editor on Windows, Linux, or macOS. VS Code ships with a default keymap for each platform, and that default is what most developers see when they first install the editor. Customization happens in the Keyboard Shortcuts editor, which records every binding in a settings file called keybindings.json. Before you change anything, you want to know what command the shortcut currently triggers and what keys currently run it, especially because Format Document on Windows is Shift+Alt+F while on Linux it is Ctrl+Shift+I. A bounded reference of twenty source-checked default commands lets you do that lookup without scrolling through hundreds of rows. The reference does not change your bindings itself; it gives you the exact key text and command name to search for inside VS Code when you are ready to rebind, and it makes the platform selector part of the contract.

Why the default matters before you edit a binding
The phrase "change a VS Code shortcut" hides a step many developers skip: you need the current default to avoid collisions and to know the exact command identifier VS Code expects. A binding file does not store friendly names like "Format Document"; it stores command IDs such as editor.action.formatDocument. Without the official command name, your new binding can silently attach to the wrong action, or fail to apply when an extension registers the same ID under a different when clause. The default keymap is also platform specific, so a single-platform cheat sheet actively misleads you the moment you swap machines. Format Document on Windows is Shift+Alt+F, on Linux it is Ctrl+Shift+I, and on macOS it is Shift+Option+F. Toggle Block Comment on Windows is Shift+Alt+A, on Linux it is Ctrl+Shift+A, and on macOS it is Shift+Option+A. Treat Windows and Linux as interchangeable, and you publish a binding that works on your machine and breaks on a teammate's. A reference that lists all three mappings side by side removes that guesswork before you open the editor.
Find the default shortcut in the VS Code Keyboard Shortcuts reference
- Open the VS Code Keyboard Shortcuts reference in your browser.
- Choose Windows, Linux, or macOS from the platform selector so the modifiers reflect the machine you are configuring, and switch the selector whenever you move to a different computer.
- Type into the search box using one of three filters: a command name such as "Format document", a category such as "Search", or a key string such as "Ctrl+P" or "Cmd+Shift+P".
- Read the matched row and note the exact command name, the category, and the key combination. If the row is empty for the active platform, VS Code has no default binding for that command on that platform; you can still assign one.
- Keep the reference open in a second tab while you move into VS Code so you can confirm both the key text and the command ID side by side.
Change the binding inside VS Code
Once you have the command name and the default key, switch into VS Code and open the Keyboard Shortcuts editor. The default key to open it is Ctrl+K Ctrl+S on Windows and Linux, and Cmd+K Cmd+S on macOS, and the same panel opens from File, then Preferences, then Keyboard Shortcuts. Inside the editor, type the command name into the search bar; VS Code filters the list to the matching default plus any custom bindings, and each row shows the source so you can tell whether a binding came from defaults, user overrides, or an extension. Right-click the row and choose Change Keybinding, then press the new keys. VS Code accepts chords, so a chord such as Ctrl+K Ctrl+S is two sequential combinations, not one simultaneous press of all four keys. You can also click the plus icon at the top of the editor and add a JSON entry to keybindings.json directly, which is the right path when you want a binding that depends on fileType or a when clause. The built-in command Developer: Toggle Keyboard Shortcuts Troubleshooting is useful while you test: it shows which key VS Code actually receives and which command it dispatches, which is the fastest way to find out whether a chord is being intercepted by your window manager, a keymap extension, or your operating system.
Why a listed shortcut may not match your installed editor
The 20-row reference describes defaults, not guarantees. VS Code renders every key according to the active keyboard layout, so the displayed keys assume a standard US layout, and switching to AZERTY, Dvorak, or a localized layout changes what you actually press. User keybindings, keymap extensions, Vim or Emacs keymaps, accessibility tools, other extensions, remote environments, and context-specific when clauses can all override a default. Linux window managers commonly reserve combinations that VS Code normally uses, which is one reason a binding looks correct in the reference but fails to fire in practice. Function keys such as F1, F2, and F12 can be intercepted by laptop hardware before they reach the operating system. None of those conditions show up in a static table. When a listed shortcut does not behave as expected, the right place to confirm the active binding is the Keyboard Shortcuts editor inside VS Code itself; the reference can only describe what is true on a clean, default install.
Platform-specific defaults for the same command
The Windows, Linux, and macOS columns of the reference are not interchangeable, even when the modifiers look similar. The table below shows a few commands where the difference is easy to miss and matters the moment you copy a binding from a colleague's machine.
| Command | Windows | Linux | macOS |
|---|---|---|---|
| Format Document | Shift+Alt+F | Ctrl+Shift+I | Shift+Option+F |
| Toggle Block Comment | Shift+Alt+A | Ctrl+Shift+A | Shift+Option+A |
| Toggle Integrated Terminal | Ctrl+` | Ctrl+` | Cmd+` |
| Quick Open File | Ctrl+P | Ctrl+P | Cmd+P |
Format Document and Toggle Block Comment differ between Windows and Linux even though both platforms usually use the Ctrl modifier, which is the exact trap a single-platform cheat sheet creates. Quick Open and Toggle Terminal look the same on Windows and Linux but flip from Ctrl to Cmd on macOS. The full VS Code Keyboard Shortcuts reference makes the platform selector part of the contract, so the keys you read are the keys for the machine you actually use.
What the 20-row reference includes and what it omits
The reference is intentionally bounded, so it covers a small set of high-traffic commands and skips the long tail. The verified rows include Command Palette access, Quick Open, settings, keyboard settings, line editing, comments, search, formatting, symbol actions, the integrated terminal, and basic file operations. Eight golden mappings are independently source-checked against Microsoft's platform shortcut PDFs, including Command Palette, Quick Open, Delete Line, Insert Line Below, Toggle Line Comment, Toggle Block Comment, Format Document, and Toggle Integrated Terminal. The table does not include debugging sequences beyond common symbol actions, task bindings, notebook-specific commands, accessibility-specific alternatives, Vim or Emacs keymaps, or localized layout variants. Search runs only against the fixed in-browser table, so the page does not install an extension, read your VS Code settings, monitor global keyboard input, change keybindings.json, or detect conflicts on your machine. Treating the 20 rows as the whole keymap leaves gaps; treating them as a starting point for the most common commands saves time.
Where to go when the reference is not enough
For anything outside the 20 covered commands, the Keyboard Shortcuts editor inside VS Code is the source of truth. It shows every default binding plus your overrides, lets you filter by source, and exposes the when clause that gates each binding. Microsoft's full platform cheat sheets list the rest of the defaults, and the keybindings documentation explains how chords, context conditions, and rule scopes combine when you edit keybindings.json. Use the 20-row reference as a quick lookup for the commands you reach for daily, and fall back to those resources when you need the long tail.
If you're weighing options, How Do Keyboard Shortcuts Work in Word: A Developer View covers this in detail.