This is a filterable reference for Visual Studio Code keyboard shortcuts. Pick your operating system, then search by action or key combination to find the binding you need. It covers the default keymap, grouped into editing, multi-cursor, navigation, search, refactoring and layout, so you can learn the high-leverage shortcuts that replace the mouse.
How it works
VS Code ships with a default keymap that differs between macOS and Windows/Linux, mostly swapping the Command key for Control. The tool stores both bindings for each action and shows whichever matches the OS you select; on first load it guesses your platform. Search matches the action text, the group and either key column, so you can look up “comment”, “split editor”, or a partial chord like “shift cmd”. The group filter narrows the list to one family of commands when you want to study, say, every navigation shortcut at once.
The highest-leverage shortcuts to learn first
Not all shortcuts save equal time. These are the ones that experienced developers reach for dozens of times a day:
| Action | macOS | Windows / Linux | Why it matters |
|---|---|---|---|
| Command Palette | ⇧⌘P | Ctrl+Shift+P | Run any command by name — the fastest path to anything |
| Quick Open (file) | ⌘P | Ctrl+P | Jump to any file in the project by typing part of its name |
| Go to Symbol | ⌘T | Ctrl+T | Jump to any function or class in the workspace |
| Toggle line comment | ⌘/ | Ctrl+/ | Comment or uncomment the current line instantly |
| Select next occurrence | ⌘D | Ctrl+D | Add cursor at the next match for the selected word |
| Select all occurrences | ⇧⌘L | Ctrl+Shift+L | Place a cursor on every match at once |
| Move line up/down | ⌥↑ / ⌥↓ | Alt+↑ / Alt+↓ | Reorder lines without cut and paste |
| Expand selection | ⌃⇧⌘→ | Shift+Alt+→ | Grow selection to enclosing block or token |
| Toggle sidebar | ⌘B | Ctrl+B | Instantly reclaim screen width when editing |
| Split editor | ⌘\ | Ctrl+\ | Side-by-side files without leaving the keyboard |
Customising bindings
Any shortcut that conflicts with a system key or a habit from another editor can be rebound. Open Keyboard Shortcuts with ⌘K ⌘S (macOS) or Ctrl+K Ctrl+S (Windows/Linux), search for the action, and press the new key. VS Code writes the override to keybindings.json and applies it immediately. Extensions like Vim, Emacs, or Sublime Text keymaps are available in the extension marketplace if you want a complete alternative layout.
Symbols used in the table
The table follows Apple’s labelling convention: ⌘ Command, ⌥ Option/Alt, ⌃ Control, ⇧ Shift. On Windows/Linux the platform equivalent replaces ⌘ with Ctrl in most cases. Everything runs in your browser; nothing is uploaded.