Intro
VS Code is a free, fast, extensible editor that became the default for most developers. Lightweight core, huge extension ecosystem, deep integration.
VS Code — what it is
EXAMPLE
# ===== The values =====
# - Cross-platform (Windows / macOS / Linux), free
# - Massive extension marketplace (>50k extensions)
# - Built-in: Git, terminal, debugger, tasks, IntelliSense
# - Configurable via JSON (settings, keybindings, snippets)
# - Excellent remote story: SSH, WSL, Dev Containers, Codespaces
# ===== Hello, install =====
# macOS: brew install --cask visual-studio-code
# Linux: apt install code (after repo set up)
# Windows: winget install Microsoft.VisualStudioCode
# Verify:
code --version
# ===== A first project =====
code . # open current folder
# Side bar -> Explorer -> create files
# Cmd/Ctrl + P -> jump to file
# Cmd/Ctrl + Shift + P -> command palette (THE most important shortcut)
# ===== Recommended extensions (per project, committed) =====
# .vscode/extensions.json
{
"recommendations": [
"dbaeumer.vscode-eslint",
"esbenp.prettier-vscode",
"ms-azuretools.vscode-docker"
]
}
# ===== Settings (workspace) =====
# .vscode/settings.json — overrides per project; teammates inherit
{
"editor.formatOnSave": true,
"editor.codeActionsOnSave": { "source.organizeImports": "explicit" },
"files.eol": "\\n"
}
# ===== Killer features =====
# - GitLens for git blame inline
# - Multi-cursor (Alt + click, Ctrl + D selects next)
# - Find/Replace with regex
# - Integrated terminal (Ctrl + \`)
# - Remote-SSH (edit files on a server like they were local)
# - Dev Containers (per-project container with all deps)
# ===== When VS Code wins =====
# - Daily editor for most languages and stacks
# - Polyglot teams (one editor across stacks)
# - Remote / containerised development
# ===== When VS Code hurts =====
# - Heavy refactors in JetBrains-strong languages (Java, Kotlin, C#) — IntelliJ wins
# - Tiny terminal-only workflows (vim / neovim still rule)
# - Extreme memory constraints (Electron overhead is real)
# ===== Patterns to internalise =====
# - Commit .vscode/{extensions,settings}.json per project
# - Live in the command palette (Ctrl/Cmd + Shift + P)
# - Keybindings sync via Settings Sync across machines
# - Dev Containers for reproducible per-project environments
# ===== Pitfalls =====
# - Hundreds of extensions enabled globally -> slow startup
# - User settings overriding workspace settings unexpectedly
# - Editing core or extension files directly -> blown away on update
# - Settings Sync on shared / borrowed machines -> personal config leaks
Why it matters
VS Code earned its lead by being fast, free, and extensible. Master the command palette, commit per-project settings + extensions, and lean on remote / dev containers for hard environments. With a thin layer of extensions tuned to your stack, it is the most productive editor most developers will use.
Tip: Tweak the snippet with Try it Yourself », then sit the quiz at the bottom of the page.
Example
Example
// VS Code: free, cross-platform editor by Microsoft. // Built on Electron; the most popular dev editor in the world.Try it Yourself »
Discussion
Loading…