Complete Visual Studio Code keyboard shortcuts for editing, navigation, debugging, and terminal operations. The most comprehensive VS Code shortcut reference for developers.
VS Code ships with a keymap that is deliberately close to every other Windows editor, which is why most people never open the keybindings editor and then wonder why colleagues seem faster. The gap is almost never the common Ctrl-key bindings; it is the dozen navigation and multi-cursor shortcuts below that turn the editor into something you drive rather than click through. The table follows the default Windows/Linux keymap; on macOS read Cmd for Ctrl and Option for Alt.
Search all VS Code shortcuts interactively
Interactive Shortcut Finder| Shortcut | Action | Description |
|---|---|---|
| Ctrl + X | Cut Line | Cut entire line if no selection. |
| Ctrl + C | Copy Line | Copy entire line if no selection. |
| Ctrl + / | Toggle Comment | Comment or uncomment selected lines. |
| Ctrl + ] | Indent | Indent selected lines. |
| Ctrl + [ | Outdent | Outdent selected lines. |
| Ctrl + D | Select Next Match | Select next occurrence of current word. |
| Ctrl + Shift + L | Select All Matches | Select all occurrences at once. |
| Ctrl + Shift + K | Delete Line | Delete current line without selection. |
| Ctrl + Enter | Insert Line Below | Insert new line below current line. |
| Alt + Up/Down | Move Line | Move current line or selection up/down. |
| Shift + Alt + Up/Down | Copy Line | Duplicate line or selection up/down. |
| Shortcut | Action | Description |
|---|---|---|
| Alt + Click | Add Cursor | Add cursor at clicked position. |
| Ctrl + Alt + Up/Down | Add Cursor Above/Below | Add cursor above or below current line. |
| Shift + Alt + I | Cursors at Line Ends | Add cursors at end of each selected line. |
| Ctrl + L | Select Line | Select entire current line. |
| Shortcut | Action | Description |
|---|---|---|
| Ctrl + F | Find | Search in current file. |
| Ctrl + H | Replace | Find and replace in current file. |
| Ctrl + Shift + F | Find in Files | Search across all files. |
| Ctrl + Shift + H | Replace in Files | Replace across all files. |
| F3 | Find Next | Go to next search result. |
| Shift + F3 | Find Previous | Go to previous search result. |
| Shortcut | Action | Description |
|---|---|---|
| Ctrl + P | Quick Open | Quickly open file by name. |
| Ctrl + Shift + P | Command Palette | Access all commands. |
| Ctrl + Tab | Next File | Switch between open files. |
| Ctrl + W | Close Editor | Close current editor tab. |
| Ctrl + \\ | Split Editor | Split editor horizontally. |
| Ctrl + 1/2/3 | Focus Editor Group | Focus on editor group 1, 2, or 3. |
| Shortcut | Action | Description |
|---|---|---|
| F12 | Go to Definition | Jump to symbol definition. |
| Alt + F12 | Peek Definition | View definition in popup. |
| Shift + F12 | Show References | Display all references to symbol. |
| Ctrl + Shift + O | Go to Symbol | Navigate to symbol in current file. |
| Ctrl + G | Go to Line | Jump to specific line number. |
| F8 | Next Error | Go to next error or warning. |
| Shortcut | Action | Description |
|---|---|---|
| Ctrl + B | Toggle Sidebar | Show or hide sidebar. |
| Ctrl + Shift + E | Explorer | Open file explorer. |
| Ctrl + Shift + F | Search | Open search panel. |
| Ctrl + Shift + G | Git | Open Git source control. |
| Ctrl + Shift + D | Debug | Open debug panel. |
| Ctrl + Shift + X | Extensions | Open extensions panel. |
| Ctrl + ` | Toggle Terminal | Open or close integrated terminal. |
| Ctrl + J | Toggle Panel | Show or hide bottom panel. |
| Shortcut | Action | Description |
|---|---|---|
| F5 | Start/Continue | Start debugging or continue execution. |
| Shift + F5 | Stop | Stop debugging session. |
| F9 | Toggle Breakpoint | Add or remove breakpoint on current line. |
| F10 | Step Over | Step over to next line. |
| F11 | Step Into | Step into function. |
| Shortcut | Action | Description |
|---|---|---|
| Ctrl + N | New File | Create new file. |
| Ctrl + O | Open File | Show file open dialog. |
| Ctrl + S | Save | Save current file. |
| Ctrl + Shift + S | Save As | Save current file with new name. |
| Ctrl + , | Settings | Open user settings. |
Browse shortcuts for 268 platforms
Explore AllTwo shortcuts do more work than the rest of this page combined. Ctrl + P opens Quick Open, a fuzzy file switcher that matches partial names and path fragments, so uscontr finds UserController.ts without touching the explorer. Ctrl + Shift + P opens the Command Palette, which is the real menu of the editor: every action, including ones with no keybinding, is one typed word away. Once those two are muscle memory, Ctrl + G for a line number and Ctrl + Shift + O for a symbol in the current file cover most in-file jumps, and F12 / Alt + F12 handle cross-file definition lookups without leaving the current editor.
VS Code treats multiple cursors as a first-class editing mode rather than a plugin. Ctrl + D selects the word under the cursor, and pressing it again adds the next occurrence to the selection, so renaming a local variable in a small scope is three keypresses. Ctrl + Shift + L selects every occurrence at once, which is faster than replace when you can see all the hits on screen. Ctrl + Alt + Up/Down stacks cursors on adjacent lines for column edits, and Shift + Alt + I drops a cursor at the end of every selected line — the trick for turning a pasted list into an array. When a multi-cursor edit goes wrong, a single click anywhere collapses back to one cursor.
Ctrl + C and Ctrl + X with nothing selected act on the whole line, which surprises people coming from other editors and is also why Ctrl + Shift + K exists — it deletes the line without polluting the clipboard. Ctrl + Enter inserts a line below regardless of where the cursor sits, so you do not have to press End first. Alt + Up/Down moves a line but Shift + Alt + Up/Down copies it, and the two are easy to confuse in the first week. Ctrl + ` toggles the integrated terminal, which is different from Ctrl + J: the latter toggles the entire bottom panel, including Problems and Output, and that is the one to use when you want screen space back.
It is bound to two things that overlap: it opens the Search view in the sidebar and, with the view open, it is the Find in Files action. In practice pressing it once does both, so the duplication is the editor's, not the table's.
F12 navigates to the definition in a new editor; Alt + F12 opens it in an inline window under the cursor so you can read it and press Esc to return without losing your place.
Open the Command Palette with Ctrl + Shift + P and run "Preferences: Open Keyboard Shortcuts". It lists every command with its current binding and lets you search by key.
Most editor shortcuts do not apply inside the integrated terminal because the shell receives the keystrokes. Ctrl + ` still toggles it, and Ctrl + Shift + P works because the palette is global.
Open your assistant with this page preloaded as the source — great for follow-up questions like "which of these work in other apps?"