📖 Guide
VS Code Shortcuts
Complete VS Code keyboard shortcuts — editing, navigation, search, multi-cursor, terminal, debug, and more.
120 commands across 10 categories
GeneralEditingNavigationSearch & ReplaceMulti-Cursor & SelectionRich LanguagesTerminalDebugExtensionsGit Integration
General
| Command | Description |
|---|---|
Cmd/Ctrl + Shift + P | Open Command Palette |
Cmd/Ctrl + P | Quick Open — go to file by name |
Cmd/Ctrl + Shift + N | New window/instance |
Cmd/Ctrl + W | Close current editor tab |
Cmd/Ctrl + Shift + W | Close window |
Cmd/Ctrl + , | Open Settings |
Cmd/Ctrl + K Cmd/Ctrl + S | Open Keyboard Shortcuts |
Cmd/Ctrl + ` | Toggle integrated terminal |
Cmd/Ctrl + B | Toggle sidebar visibility |
Cmd/Ctrl + J | Toggle bottom panel (terminal, output, problems) |
Cmd/Ctrl + Shift + E | Focus Explorer sidebar |
Cmd/Ctrl + Shift + X | Focus Extensions sidebar |
Cmd/Ctrl + K Z | Enter Zen Mode (distraction-free) |
Cmd/Ctrl + Shift + V | Open Markdown preview |
Editing
| Command | Description |
|---|---|
Cmd/Ctrl + X | Cut line (empty selection cuts entire line) |
Cmd/Ctrl + C | Copy line (empty selection copies entire line) |
Cmd/Ctrl + Shift + K | Delete entire line |
Alt + Up/Down | Move line up/down |
Shift + Alt + Up/Down | Copy line up/down |
Cmd/Ctrl + Enter | Insert line below |
Cmd/Ctrl + Shift + Enter | Insert line above |
Cmd/Ctrl + Shift + \ | Jump to matching bracket |
Cmd/Ctrl + ] | Indent line |
Cmd/Ctrl + [ | Outdent line |
Cmd/Ctrl + / | Toggle line comment |
Shift + Alt + A | Toggle block comment |
Alt + Z | Toggle word wrap |
Cmd/Ctrl + Shift + [ | Fold (collapse) region |
Cmd/Ctrl + Shift + ] | Unfold (expand) region |
Cmd/Ctrl + K Cmd/Ctrl + 0 | Fold all regions |
Cmd/Ctrl + K Cmd/Ctrl + J | Unfold all regions |
Cmd/Ctrl + Z | Undo |
Cmd/Ctrl + Shift + Z | Redo |
Cmd/Ctrl + D | Add selection to next find match |
Search & Replace
| Command | Description |
|---|---|
Cmd/Ctrl + F | Find in current file |
Cmd/Ctrl + H | Find and replace in current file |
Cmd/Ctrl + Shift + F | Search across all files in workspace |
Cmd/Ctrl + Shift + H | Replace across all files in workspace |
F3 / Shift + F3 | Find next / previous match |
Alt + Enter | Select all occurrences of find match |
Cmd/Ctrl + D | Add next occurrence to selection |
Cmd/Ctrl + K Cmd/Ctrl + D | Skip current and add next occurrence |
Alt + C | Toggle case-sensitive search |
Alt + R | Toggle regex search |
Alt + W | Toggle whole word search |
Multi-Cursor & Selection
| Command | Description |
|---|---|
Alt + Click | Insert cursor at click position |
Cmd/Ctrl + Alt + Up/Down | Insert cursor above/below |
Cmd/Ctrl + D | Select next occurrence of current word |
Cmd/Ctrl + Shift + L | Select all occurrences of current selection |
Cmd/Ctrl + L | Select current line |
Shift + Alt + Drag | Column (box) selection |
Cmd/Ctrl + Shift + K | Delete line |
Cmd/Ctrl + U | Undo last cursor operation |
Shift + Alt + Right | Expand selection (Smart Select) |
Shift + Alt + Left | Shrink selection (Smart Select) |
Cmd/Ctrl + K Cmd/Ctrl + D | Move last selection to next find match |
Rich Languages
| Command | Description |
|---|---|
Ctrl + Space | Trigger IntelliSense / autocomplete suggestions |
Cmd/Ctrl + Shift + Space | Trigger parameter hints |
Cmd/Ctrl + . | Quick Fix / Code Actions (lightbulb menu) |
F2 | Rename symbol across all files |
Shift + Alt + F | Format entire document |
Cmd/Ctrl + K Cmd/Ctrl + F | Format selected code |
F12 | Go to Definition |
Cmd/Ctrl + K Cmd/Ctrl + I | Show hover information |
Shift + F12 | Show all References |
Cmd/Ctrl + Shift + R | Refactor — extract function, variable, etc. |
Cmd/Ctrl + Shift + I | Organize imports |
Terminal
| Command | Description |
|---|---|
Cmd/Ctrl + ` | Toggle terminal panel |
Cmd/Ctrl + Shift + ` | Create new terminal instance |
Cmd/Ctrl + Shift + 5 | Split terminal |
Cmd/Ctrl + \ | Split editor |
Ctrl + Shift + Up/Down | Scroll terminal up/down |
Cmd/Ctrl + Up/Down | Scroll to top/bottom of terminal |
Cmd/Ctrl + K (in terminal) | Clear terminal |
Ctrl + Page Up/Down | Switch between terminal instances |
Debug
| Command | Description |
|---|---|
F5 | Start / continue debugging |
Shift + F5 | Stop debugging |
Cmd/Ctrl + Shift + F5 | Restart debugging |
F9 | Toggle breakpoint on current line |
F10 | Step over (execute line, don't enter functions) |
F11 | Step into (enter function) |
Shift + F11 | Step out (exit current function) |
Cmd/Ctrl + Shift + D | Open Debug sidebar |
Cmd/Ctrl + K Cmd/Ctrl + I | Show debug hover (inspect variable) |
Cmd/Ctrl + Shift + Y | Open Debug Console |
Extensions
| Command | Description |
|---|---|
Cmd/Ctrl + Shift + X | Open Extensions view |
@installed | Filter: show installed extensions (type in search) |
@enabled | Filter: show enabled extensions |
@disabled | Filter: show disabled extensions |
@outdated | Filter: show extensions with updates available |
@recommended | Filter: show recommended extensions |
ext install <publisher>.<name>e.g. code --install-extension esbenp.prettier-vscode | Install extension from CLI |
Git Integration
| Command | Description |
|---|---|
Cmd/Ctrl + Shift + G | Open Source Control (Git) sidebar |
Ctrl + Shift + G G | Focus Source Control view |
Cmd/Ctrl + Enter (in SCM) | Commit staged changes |
Click + on file (in SCM) | Stage file for commit |
Click − on file (in SCM) | Unstage file |
Cmd/Ctrl + Shift + P → Git: Pull | Pull from remote via Command Palette |
Cmd/Ctrl + Shift + P → Git: Push | Push to remote via Command Palette |
Cmd/Ctrl + Shift + P → Git: Checkout to... | Switch branch via Command Palette |
Gutter indicator (left of line numbers) | Green = added, blue = modified, red = deleted lines |
Alt + F5 / Shift + Alt + F5 | Go to next / previous change in diff |
Cmd/Ctrl + Shift + P → Git: Stash | Stash changes |
Cmd/Ctrl + Shift + P → Git: View File History | View file history (with GitLens) |
📖 Free, searchable command reference. Bookmark this page for quick access.