Back to All Cheatsheet Libraries cheatsheets

VS Code

Keyboard shortcuts, core features and essential extensions, and a productive new-project setup checklist.

Total Shortcuts: 0
Category Action macOS Windows
NavigateCommand Palette⇧⌘PCtrl+Shift+P
NavigateQuick Open (go to file)⌘PCtrl+P
NavigateGo to Symbol in File⇧⌘OCtrl+Shift+O
NavigateGo to DefinitionF12F12
NavigateGo Back / Forward⌃- / ⌃⇧-Alt+Left / Alt+Right
EditingAdd cursor above/below⌥⌘↑ / ⌥⌘↓Ctrl+Alt+Up / Down
EditingSelect next match (multi-cursor)⌘DCtrl+D
EditingMove line up/down⌥↑ / ⌥↓Alt+Up / Down
EditingDuplicate line⇧⌥↓Shift+Alt+Down
EditingToggle line comment⌘/Ctrl+/
EditingFormat Document⇧⌥FShift+Alt+F
EditingQuick Fix / Refactor⌘.Ctrl+.
PanelsToggle integrated terminal⌃`Ctrl+`
PanelsToggle sidebar (Explorer)⌘BCtrl+B
PanelsSplit editor⌘\Ctrl+\
SearchFind in Files⇧⌘FCtrl+Shift+F
GitOpen Source Control panel⌃⇧GCtrl+Shift+G
FileNew window⇧⌘NCtrl+Shift+N

Core Features

IntelliSense

Context-aware autocomplete, parameter hints, and quick documentation — powered by a language server per language, not a generic dictionary.

Integrated Terminal

A real shell inside the editor, aware of the open workspace's directory — no separate terminal window needed for most workflows.

Source Control (Git)

Stage, commit, push/pull, and view diffs without leaving the editor — the built-in Git integration covers most day-to-day operations.

Debugger

Set breakpoints and step through code for many languages via a launch.json config — no separate IDE needed for debugging.

Workspaces

A .code-workspace file can group multiple folders and per-workspace settings — useful for a monorepo or a frontend+backend pair.

Remote Development

Extensions for SSH, Containers, and WSL let VS Code's UI run locally while code/execution happens on a remote machine or container.

Essential Extensions

Prettier / ESLint

Format + lint on save

Remote - SSH

Edit on a remote host

Dev Containers

Consistent dev environment

GitLens

Inline blame + history

Setting Up a New Project

A quick baseline that makes VS Code productive on a fresh repo.

1

Open the folder, not individual files

Opening the project root (not a loose file) enables workspace-aware features — search-in-files scope, the Explorer tree, and per-project settings.

2

Accept recommended workspace extensions

A repo's .vscode/extensions.json prompts for project-specific extensions — accepting keeps formatting/linting consistent with the rest of the team.

3

Set format-on-save

"editor.formatOnSave": true in workspace settings — removes formatting disagreements from every code review.

4

Add a launch.json once debugging is needed

Run and Debug → "create a launch.json file" auto-detects the project type and scaffolds a reasonable starting config.

Quick Tips

⌘P then # or : narrows the search
In Quick Open, prefix with # to search symbols workspace-wide, or : after a filename to jump to a line number.
Settings Sync keeps multiple machines aligned
Built-in Settings Sync (sign in with GitHub/Microsoft) carries settings, keybindings, and extensions across every machine automatically.
settings.json is just JSON you can hand-edit
Command Palette → "Preferences: Open User Settings (JSON)" for direct edits — faster than the UI for bulk changes or copying settings between machines.