Navigation
File & Symbol Navigation
Ctrl+PQuick Open file by name
Ctrl+Shift+PCommand Palette
Ctrl+Shift+OGo to symbol in file
Ctrl+TGo to symbol in workspace
Ctrl+GGo to line number
F12Go to definition
Alt+F12Peek definition
Shift+F12Find all references
Ctrl+Shift+\Jump to matching bracket
Tab & Editor Navigation
Ctrl+TabCycle through open tabs
Ctrl+1 / 2 / 3Focus editor group 1 / 2 / 3
Ctrl+\Split editor
Ctrl+BToggle sidebar
Ctrl+JToggle bottom panel
Editing
Line Operations
Ctrl+Shift+KDelete entire line
Alt+Up / DownMove line up / down
Shift+Alt+Up / DownCopy line up / down
Ctrl+EnterInsert line below
Ctrl+Shift+EnterInsert line above
Ctrl+Shift+[Fold region
Ctrl+Shift+]Unfold region
Text Manipulation
Ctrl+DSelect word (repeat to add next match)
Ctrl+Shift+LSelect all occurrences of selection
Ctrl+LSelect entire line
Ctrl+/Toggle line comment
Shift+Alt+AToggle block comment
Tab / Shift+TabIndent / outdent line
Multi-Cursor
Adding Cursors
Alt+ClickAdd cursor at click position
Ctrl+Alt+Up / DownAdd cursor above / below
Ctrl+DAdd next occurrence of selection
Ctrl+Shift+LAdd cursor at all occurrences
Ctrl+UUndo last cursor addition
EscExit multi-cursor mode
Multi-Cursor Workflow
// Select a word, then Ctrl+D to add matches // Type replacement — all cursors update // Ctrl+Shift+L selects ALL matches at once // Alt+Click for arbitrary cursor placement
Terminal
Terminal Shortcuts
Ctrl+`Toggle integrated terminal
Ctrl+Shift+`Create new terminal
Ctrl+Shift+5Split terminal
Ctrl+PgUp / PgDnScroll terminal up / down
Ctrl+Shift+CCopy selection in terminal
Ctrl+Shift+VPaste into terminal
Terminal Management
Ctrl+Shift+P → Terminal: KillKill active terminal
Ctrl+Shift+P → Terminal: RenameRename terminal tab
Terminal dropdownSwitch between terminals
terminal.integrated.shell.*Setting to change default shell
Debugging
Debug Controls
F5Start / continue debugging
Shift+F5Stop debugging
Ctrl+Shift+F5Restart debugging
F9Toggle breakpoint
F10Step over
F11Step into
Shift+F11Step out
launch.json Example
{ "type": "node", "request": "launch", "name": "Run App", "program": "${workspaceFolder}/app.js" }
Debug Features
Watch panelMonitor expressions during debugging
Call StackView execution call stack
Debug ConsoleEvaluate expressions at breakpoint
Conditional breakpointRight-click breakpoint → Edit condition
LogpointLog message without stopping execution
Extensions
Extension Management
Ctrl+Shift+XOpen Extensions view
@installedFilter to show installed extensions
@enabled / @disabledFilter by enabled / disabled
@recommendedShow recommended extensions
Essential Extensions
PrettierCode formatter (JS, TS, CSS, HTML)
ESLintJavaScript/TypeScript linting
GitLensEnhanced Git integration and blame
Remote - SSHDevelop on remote machines via SSH
Live ServerLocal dev server with live reload
Thunder ClientREST API client inside VS Code
Settings
Accessing Settings
Ctrl+,Open Settings UI
Ctrl+Shift+P → settings.jsonOpen settings JSON
Common Settings (JSON)
{ "editor.fontSize": 14, "editor.tabSize": 2, "editor.formatOnSave": true, "editor.wordWrap": "on", "files.autoSave": "afterDelay" }
Workspace vs User
User settingsGlobal, apply to all projects
Workspace settingsPer-project, in .vscode/settings.json
Workspace overrides UserWorkspace settings take priority
Keyboard Shortcuts
Customization
Ctrl+K Ctrl+SOpen Keyboard Shortcuts editor
keybindings.jsonJSON file for custom bindings
Essential Shortcuts
Ctrl+Shift+PCommand Palette (access everything)
Ctrl+PQuick Open file
Ctrl+Shift+FSearch across all files
Ctrl+HFind and replace in file
Ctrl+Shift+HFind and replace across files
F2Rename symbol
Ctrl+.Quick Fix (code actions)
Ctrl+SpaceTrigger IntelliSense
Ctrl+Shift+IFormat document
Git Integration
Source Control View
Ctrl+Shift+GOpen Source Control panel
+Stage changes (in SCM view)
-Unstage changes
Ctrl+EnterCommit staged changes
...More actions (push, pull, etc.)
Inline Git Features
Gutter indicatorsGreen/blue/red marks for added/modified/deleted
Ctrl+Shift+P → Git: CheckoutSwitch branches
Ctrl+Shift+P → Git: PullPull from remote
Ctrl+Shift+P → Git: PushPush to remote
Click gutter changeInline diff view for modified lines
Diff & Merge
SCM → Open ChangesSide-by-side diff view
Inline diff arrowsRevert individual changes
3-way merge editorResolve conflicts visually (1.69+)
Common Patterns
Workspace Features
Ctrl+Shift+EFocus file explorer
Ctrl+Shift+DFocus debug view
Ctrl+Shift+MShow problems panel
Ctrl+K Ctrl+TChange color theme
Ctrl+K ZEnter Zen mode
Snippets
// File → Preferences → Configure Snippets "Print": { "prefix": "log", "body": "console.log('$1');", "description": "Console log" }
Tasks (tasks.json)
{ "label": "build", "type": "shell", "command": "npm run build", "group": "build" }