Most “best VS Code extensions” lists have 30+ entries. Nobody installs 30 extensions. Here are the 7 that actually matter.
1. Error Lens
Shows errors and warnings inline, right next to the code. No more hovering over red squiggles or checking the Problems panel.
const x: number = "hello" // ← Type 'string' is not assignable to type 'number'
The error appears right there on the line. Once you use this, you can’t go back.
2. Pretty TypeScript Errors
TypeScript errors are notoriously unreadable. This extension formats them into something human:
Before: Type '{ name: string; age: number; }' is not assignable to type '{ name: string; age: string; }'
After: A nicely formatted diff showing exactly which property has the wrong type.
3. GitLens
See who changed each line and when, right in the editor. Hover over any line to see the commit message, author, and date.
The “blame” view is invaluable when you’re reading unfamiliar code: “Who wrote this and why?” is answered without leaving the file.
4. GitHub Copilot
AI autocomplete that actually works. It’s not perfect, but it saves time on boilerplate, test writing, and repetitive patterns. The tab-completion alone is worth it.
If you’re not using an AI coding assistant in 2026, you’re typing too much.
5. ESLint + Prettier (as extensions)
Not one extension — two that work together. ESLint catches code quality issues, Prettier formats on save. Configure once, never think about formatting again.
Settings to add:
{
"editor.formatOnSave": true,
"editor.defaultFormatter": "esbenp.prettier-vscode",
"editor.codeActionsOnSave": {
"source.fixAll.eslint": "explicit"
}
}
6. Thunder Client
REST API client inside VS Code. No need to switch to Postman or Insomnia. Send requests, see responses, save collections — all in a tab.
Lightweight, fast, and doesn’t require an account.
7. Todo Tree
Scans your codebase for TODO, FIXME, HACK, and BUG comments and shows them in a tree view. You’ll be surprised how many forgotten TODOs are hiding in your code.
Extensions I removed
- Bracket Pair Colorizer — VS Code has this built-in now (
editor.bracketPairColorization.enabled) - Path Intellisense — VS Code’s built-in path completion is good enough
- Auto Rename Tag — Built-in since VS Code 1.44 (
editor.linkedEditing) - Import Cost — Useful idea, but slows down the editor noticeably
The rule
If an extension doesn’t save you time every single day, remove it. Every extension adds startup time and memory usage. 7 great extensions beat 30 mediocre ones.
How to audit your extensions
Open the command palette (Cmd+Shift+P) and run “Show Running Extensions.” Sort by activation time. Anything taking over 500ms to activate that you don’t use daily? Disable it. I went from 23 extensions to 7 and my editor starts noticeably faster.
Related: VS Code Keyboard Shortcuts · Vim vs VS Code · Best AI Coding Tools 2026 · 12 Websites Every Developer Should Bookmark · 7 Terminal Tools That Replace Gui Apps