VS Code's extension ecosystem is both its greatest strength and its greatest danger. You can install extensions for everything, bloat your editor into unresponsiveness, and waste hours configuring things that don't matter. This list is ruthlessly curated — extensions I've used daily and would immediately reinstall on a fresh machine.

AI Coding Assistants

GitHub Copilot

The one that started it all, and still the most polished. Copilot has evolved from "completes your current line" to "writes entire functions from a comment," understands your codebase context, explains code inline, and generates unit tests. The Copilot Chat sidebar feels genuinely useful for architecture discussions and debugging. At $10/month, it pays for itself in the first hour of use.

Best for: Developers who want AI assistance deeply integrated into their flow. Copilot edits (multi-file editing via natural language) is the most impressive recent addition.

Continue

The open-source alternative that lets you bring your own model — Claude, GPT-4, local Ollama models, anything with an API. Continue matches Copilot's core features and adds the ability to use your own API keys and run completely locally with models like Llama 3 or DeepSeek Coder. If privacy is a concern or you want model choice flexibility, this is your pick.

Git & Source Control

GitLens

GitLens transforms VS Code's built-in git support from "adequate" to "exceptional." Inline blame (who wrote this line and when, with the commit message), interactive rebase editor, visual branch history, file history, heatmap annotations showing which code has changed most recently. The free tier covers 90% of what you need.

If you've ever wondered "why does this code exist?" and found yourself spelunking through git log, GitLens answers that question before you even finish the thought.

Git Graph

A beautifully rendered commit graph with full branching history. Click any commit to see what changed. Drag-and-drop to cherry-pick or rebase. Free. Install it and immediately understand your repo's history in a way git log never delivered.

Editing & Productivity

Error Lens

Shows errors and warnings inline in your code — right on the line where they occur — instead of making you hover over red squiggles. Sounds small; transforms how quickly you fix issues. Absolutely non-negotiable.

Prettier — Code Formatter

Automatic, opinionated code formatting. Set "editor.formatOnSave": true and never argue about code style again. Prettier handles JavaScript, TypeScript, CSS, HTML, JSON, Markdown, and more. Just install it and configure your team to use the same settings.

Path Intellisense

Autocompletes file paths as you type. Sounds trivial. You'll miss it immediately on any editor that doesn't have it.

Bookmarks

Mark important lines of code and jump between them with keyboard shortcuts. Indispensable when jumping between implementation and test files, or tracking multiple points of interest during debugging.

Language-Specific Must-Haves

ESLint + Pylint/Ruff

Static analysis in your editor, as you type. Catches bugs before you run code. Always install the linter for your primary language. Ruff is the new Python linter that's 10-100x faster than Pylint/flake8 — if you write Python, switch to it today.

Rust Analyzer

The official Rust language server. Type hints, inline documentation, code actions, error messages that actually explain what's wrong. If you're learning Rust (you should be — see our tutorial), this extension is half the reason the experience is tolerable at first.

Docker + Kubernetes (from Microsoft)

Container management directly in VS Code. Browse images, manage containers, attach to running containers, edit Compose files with autocomplete. If you work with Docker daily, this replaces half your terminal commands.

Appearance & UX

One Dark Pro (Theme)

The most downloaded VS Code theme, and for good reason. High contrast, carefully balanced syntax highlighting, comfortable for long sessions. Alternatives worth trying: Catppuccin, Tokyo Night, Nord.

Material Icon Theme

Replaces VS Code's generic file icons with distinctive, colorful icons by file type. Makes the file explorer significantly more scannable. One of those small things that has an outsized effect on daily quality of life.

indent-rainbow

Colorizes indentation levels. Particularly useful in Python (where indentation is structure) and deeply nested code. Saves you from "wait, which block is this in?" moments.

Remote Development

Remote SSH / Dev Containers (Microsoft)

Connect VS Code to a remote server or Docker container and work as if you're local. Your extensions, your settings, your keybindings — running against a remote filesystem. Dev Containers in particular have become the standard for onboarding: git clone → Open in Dev Container → fully configured environment in 60 seconds.

⚙️
The Anti-Extension
For every extension you install, ask: "Does this make me measurably faster, or does it just feel like it does?" Delete anything you haven't used in 30 days. VS Code's performance degrades with extension count, and the extension you installed on a whim is probably slowing down every keystroke.

Essential Settings to Pair With These

Extensions are only half the picture. Add these to your settings.json:

{
  "editor.formatOnSave": true,
  "editor.defaultFormatter": "esbenp.prettier-vscode",
  "editor.inlineSuggest.enabled": true,
  "editor.guides.bracketPairs": "active",
  "editor.fontFamily": "JetBrains Mono, Fira Code, Consolas, monospace",
  "editor.fontLigatures": true,
  "editor.minimap.enabled": false,
  "editor.cursorBlinking": "smooth",
  "editor.smoothScrolling": true,
  "workbench.editor.enablePreview": false,
  "terminal.integrated.defaultProfile.windows": "PowerShell",
  "git.autofetch": true,
  "git.confirmSync": false,
  "explorer.confirmDelete": false,
  "files.autoSave": "onFocusChange"
}

These settings alone remove a dozen small daily frustrations. Combine with the extensions above and you have a developer environment that gets out of your way and lets you focus on the code.

TF Editorial

TF Editorial

Editorial Team · Tomfoolering

We write about technology with depth and without condescension.