Extensions multiply your tooling without switching contexts. The right ones save hours per week; the wrong ones add maintenance debt. Below are the extensions that consistently earn their keep across teams, with the trade-offs you should know before installing.
VS Code: Core Workflow
| Extension | Why It Matters | Trade-off |
| GitLens | Inline blame, history, and authorship without leaving the editor | Can slow large repos; disable file annotations if needed |
| Error Lens | Shows diagnostics inline on the offending line | Noise in generated files — add excludes in settings |
| Path Intellisense | Autocomplete for import paths and file references | Minimal; works out of the box |
| TODO Highlight | Highlights TODO, FIXME, HACK, NOTE with custom colors | None significant |
VS Code: Language-Specific
| Extension | Language | Key Feature |
| ESLint | JS/TS | Real-time linting + auto-fix on save |
| Prettier | JS/TS/JSON/CSS | Opinionated formatting; configure once, forget |
| Rust Analyzer | Rust | Best-in-class LSP, inlay hints, run tests from gutter |
| Go | Go | Delve debugger, test runner, gopls integration |
| Python | Python | Pylance type checking, virtual env picker, pytest runner |
Browser DevTools Extensions
| Extension | Browser | Use Case |
| React Developer Tools | Chrome/Firefox/Edge | Component tree, props, hooks, profiler |
| Redux DevTools | Chrome/Firefox/Edge | Time-travel debugging, action log, state diffs |
| Wappalyzer | Chrome/Firefox/Edge | Technology stack detection on any site |
| JSON Viewer | Chrome/Firefox | Pretty-printed, collapsible JSON in-browser |
| EditThisCookie | Chrome/Edge | Quick cookie inspection and editing |
CLI & Terminal Extensions
| Tool | What It Extends | Why It's Worth It |
| fzf | shell history, file search, git | Fuzzy find everything; Ctrl-R becomes powerful |
| zoxide | cd | Smart directory jumping; learns your habits |
| delta | git diff | Syntax-highlighted, side-by-side diffs |
| bat | cat | Line numbers, syntax highlighting, git integration |
| ripgrep (rg) | grep | Faster, respects .gitignore, Unicode-aware |
Productivity & Focus
| Extension | Platform | Benefit |
| GitHub Copilot | VS Code, JetBrains, Neovim | Context-aware completions; great for boilerplate and tests |
| Tabnine | VS Code, JetBrains, Vim | Local models available; privacy-friendly option |
| Zen Mode (built-in) | VS Code | Distraction-free full-screen; Ctrl+K Z |
| LeechBlock NG | Firefox/Chrome | Site blocking with schedules; protects deep work |
When to Skip an Extension
- Does the same thing a built-in feature already does (check settings first)
- Hasn't been updated in 12+ months and has open security issues
- Requires broad permissions (read all files, network access) without clear justification
- Adds noticeable startup or typing latency — profile with
--startuptime - Duplicates another extension you already trust
Minimal Starter Pack
- GitLens + Error Lens + Path Intellisense
- Language pack for your primary language (ESLint/Prettier, Rust Analyzer, Go, Python)
- React/Redux DevTools if you do frontend
- fzf + zoxide + delta + bat + rg in your shell
- GitHub Copilot or Tabnine for AI assist
Start with the minimal pack. Add one extension at a time when you feel a specific friction point. Audit quarterly — remove anything you haven't used in 30 days.