iwantcoding.com
🔥 Daily 👥 Rooms 🏆 Top Log in Sign up

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 »

Test yourself

Q1. VS Code is built by…
Q2. VS Code is built on…
Q3. Open the Command Palette with…

Discussion

Loading…