VS Code Extensions
The funny thing about VS Code is that it gets better very quickly, and then, if you are not careful, it gets worse just as quickly. A few extensions can make the editor feel sharp and helpful. Too many, though, and suddenly everything is noisier, slower, and a little less predictable than it used to be.
How to choose extensions without making a mess
The easiest way to stay sane is to think in layers:
- core productivity
- language and stack support
- optional workflow tools
If an extension is not solving a real recurring annoyance, it probably does not need to be there.
A sensible core set
GitHub Copilot or another AI coding tool
Pick one primary AI workflow before you start stacking assistants on top of each other.
Common options:
- GitHub Copilot
- a Cursor-style workflow outside plain VS Code
- one dedicated AI chat or edit tool
Too many overlapping AI extensions usually create noise, not leverage.
Prettier
Formatting should be boring. Prettier keeps it that way.
ESLint
Still one of the highest-value extensions for JavaScript and TypeScript work.
Error Lens
Useful if you want problems surfaced inline instead of hidden in a panel.
GitLens
Helpful when you need blame, history, and context without leaving the editor.
Good VS Code extensions for frontend work
For React, Next.js, and TypeScript work, a good default set is:
- ESLint
- Prettier
- Tailwind CSS IntelliSense
- styled-components or CSS-in-JS support if the project uses it
- import and path helpers when the repo structure gets large
Good VS Code extensions for backend work
For Node, NestJS, and API-heavy work:
- ESLint
- Prettier
- REST Client, if you test HTTP flows inside VS Code
- Docker support, if you run services locally
.envhelpers, if the project has a lot of environment config
VS Code extensions for Python and data work
For Python and analysis workflows:
- Python
- Jupyter
- lightweight data preview tools when you genuinely need them
Just do not turn VS Code into a notebook-heavy environment if notebooks are only an occasional task.
Extensions to be careful with
Too many AI assistants
Running multiple completion and chat tools at once often makes suggestions worse, not better.
Heavy UI customization packs
Themes and icon packs are fine. Full-blown visual customization suites usually add more drag than value.
Low-trust utility extensions
Extensions can read files, run code, and alter your workflow. Install them as if they were software, not stickers.
Workspace configuration matters more than people think
Extensions become much more useful when the project also defines:
- format-on-save rules
- lint configuration
- a default formatter
- the TypeScript SDK path
- test and task shortcuts
A disciplined workspace setup will beat a random pile of extensions every time.
AI coding in VS Code
Copilot
Best if you want familiar inline assistance without changing editors.
Agent-first tools
Tools like Cursor or Windsurf can be stronger for larger tasks, but they change the workflow more substantially and may sit outside plain VS Code.
If your team standardizes on VS Code, choose the AI layer deliberately rather than letting every developer improvise a different setup.
Bottom line
The best VS Code setup is boring in the right way: fast, stable, and easy to reason about. Start with formatter, linter, git visibility, and one clear AI workflow. Add more only when the need shows up repeatedly in real work.