I used to install extensions like I was collecting Pokemon. Prettier, ESLint, Live Server, Docker, some random theme I'd never use again — just grabbing whatever had good reviews and calling it a day. My VS Code would slow down, keyboard shortcuts would conflict, and I'd spend more time managing plugins than actually coding.
Then I got ruthless. I uninstalled everything and rebuilt from zero, only adding back what I actually reached for daily. This is what survived that purge.
The Formatting & Linting Essentials
You need these. Not optionally — actually need them. They're the difference between code that works and code you don't hate reading three months later.
Prettier — Code Formatter
Prettier ended the "tabs vs spaces" arguments in my team. Not by settling it (it doesn't), but by making the choice irrelevant. You write messy code, save the file, it auto-formats to consistent standards. Done.
Here's the thing though: Prettier is opinionated. *Very* opinionated. Some people hate that. I used to be one of them. I wanted control over my formatting. But after a week of not thinking about indentation or line breaks, I realized that was the point. You trade 5% of control for 95% less friction.
Setup takes 5 minutes. Create a `.prettierrc` file, configure your preferences (print width, quotes, semicolons), add it to your save settings, and forget about it. The config is portable too — your whole team gets the same formatting automatically.
ESLint
ESLint catches errors before they become bugs. Unused variables, missing async keywords, unreachable code — it spots stuff that'll crash in production while you're still typing.
The key is configuring it right. Out of the box, ESLint is pretty quiet. That's actually bad. You want it strict enough to catch real problems, but not so strict that it complains about stylistic preferences (that's Prettier's job). I use Airbnb's config and it's solid for most projects.
One frustration: ESLint and Prettier can fight each other if you don't set them up correctly. The solution is the `eslint-config-prettier` package, which turns off ESLint rules that conflict with Prettier. Install that, and they work together beautifully.
The Productivity Multipliers
These won't fix bugs or make your code cleaner by themselves. But they cut down on repetitive work, which adds up fast.
Thunder Client (or REST Client)
I used to alt-tab between VS Code and Postman constantly. Testing API endpoints, checking status codes, debugging responses — all of it happened outside my editor. Thunder Client moved that workflow into VS Code itself.
It's lightweight, doesn't require signup (unlike newer Postman), and integrates with your source control. You can commit API test collections right alongside your code. The interface is cleaner than Postman's bloated UI too.
REST Client is the simpler alternative if you prefer writing requests in plain text files (`.http` files). I recommend trying both — they're fundamentally different approaches.
Path Intellisense
This extension auto-completes file paths. Type `import from './src/` and it shows you available files and folders. Sounds small. Saves hours across a project.
Especially useful when you're refactoring and moving files around. You'll catch broken import paths before you run the code.
Better Comments
Standard code comments are boring and invisible. Better Comments lets you color-code them — red for alerts, green for notes, orange for questions.
I could be wrong here, but I think this bridges the gap between code that's commented and code that's *readable*. When you scan through a file and see a red `! CRITICAL: don't change this` comment, your brain registers it differently than gray text saying the same thing.
The Language-Specific Heavy Hitters
If you're working with React, Python, or databases, these aren't optional.
ES7+ React/Redux/React-Native Snippets
You could type out `const [state, setState] = useState('')` every time. Or you could type `rfc` and have the whole functional component boilerplate appear.
This extension is basically autocomplete for React patterns. Once you know the snippets (and there's a reference in the extension itself), development gets noticeably faster. I estimate this saves me 30 minutes a day on React projects. Conservative estimate.
Python (by Microsoft)
If you're doing any Python work, this is non-negotiable. It bundles linting, debugging, code formatting, and environment management. Includes IntelliSense that actually works (not like generic autocomplete — it understands your Python project structure).
The debugging experience is particularly solid. Set breakpoints visually, inspect variables, step through code — all without leaving your editor. For data science or backend Python, this is essential.
SQLTools + Driver
You're working with a database. You need to check a query result or debug something in production data. You could SSH into a server and use a terminal client. Or you could query directly from VS Code.
SQLTools supports PostgreSQL, MySQL, MongoDB, and others. Write your query, execute it, see results formatted in a table. No separate database GUI needed. (Though honestly, I still use DBeaver for complex work. SQLTools is for quick checks.)
The Quality-of-Life Upgrades
These won't directly make your code better. They make the experience of writing code less annoying.
GitLens
GitLens shows you who wrote each line of code and when. Hover over a line and you see the commit message, author, and date. It's invaluable when you're debugging something and wondering "why did anyone write it this way?"
The full feature set is overwhelming at first (there are a lot of settings), but the core feature — inline git blame — is worth the extension alone. I turned off most other features to reduce visual clutter, but that one stays on.
Peacock
This is purely aesthetic, but hear me out. When you have multiple VS Code windows open (different projects), Peacock colors the accent bars differently for each one. Blue for the frontend repo, green for the backend. Sounds silly. Prevents countless "wait, which project is this?" moments.
I used to think this was unnecessary bloat. Then I worked on a project with three connected repos and realized I was constantly checking the file paths to know which window I was in. Peacock solved that in seconds.
| Extension | What It Does | Essential? |
|---|---|---|
| Prettier | Auto-formats code on save | Yes |
| ESLint | Catches errors and code quality issues | Yes |
| Thunder Client | Test APIs without leaving the editor | Highly Recommended |
| Path Intellisense | Auto-completes file paths | Highly Recommended |
| Better Comments | Color-codes comments by type | Nice to Have |
| ES7+ React Snippets | Quick React component templates | Yes (if React) |
| Python (Microsoft) | Full Python development support | Yes (if Python) |
| SQLTools | Query databases from the editor | Highly Recommended |
| GitLens | Shows git blame inline | Highly Recommended |
| Peacock | Colors VS Code by project | Nice to Have |
My Take
These ten extensions cover about 95% of what a working developer actually needs. The other hundred thousand extensions in the marketplace are either redundant or solving problems you don't have yet.
What surprised me most was how much Prettier changed my relationship with code formatting. I spent years tweaking formatting rules. Once I accepted that I don't care *how* it's formatted as long as it's consistent, development became noticeably less stressful. That's not something I expected an extension to affect.
What disappointed me: GitLens has a ton of features I've never touched. The UI is cluttered with options that most developers won't need. It would benefit from a "lite" mode that just does inline blame. Still essential though.
The language-specific extensions (React snippets, Python, SQLTools) are genuinely transformative if you work in those ecosystems regularly. If you're a full-stack developer jumping between Python and React, all three are worth having. If you only touch one language, obviously skip the others.
Who is this list for? Junior developers trying to level up, working professionals who've never optimized their editor, and anyone tired of context-switching between tools. If you're already using most of these, you're in good shape.
Verdict
Install Prettier, ESLint, and GitLens immediately. They're almost universally useful. Add Path Intellisense and Thunder Client next — they save real time. Then layer in the language-specific tools depending on what you actually code in. Skip the rest for now. You can always add more later, but extensions are better discovered by need than by installation.
Your editor should make you faster, not slower. When you're evaluating an extension, ask: "Would I miss this if it disappeared tomorrow?" If the answer is no, uninstall it. Your editor will be snappier, you'll have fewer keyboard shortcuts to remember, and you'll spend more time coding and less time managing tools.
Published by Dattatray Dagale • 04 October 2026
0 Comments