8 min read

Top 10 VS Code Extensions That Actually Boost Productivity

VS CodeProductivityDeveloper ToolsExtensions

I've Been Through About 200 Extensions So You Don't Have To

A few years ago, I went on a VS Code extension spree. You know the drill — you see a tweet about some shiny new extension, install it, use it for 20 minutes, then forget it exists. At one point I had 47 extensions enabled. My editor felt like a clown car.

I've since cleaned up my act. These days I run lean — around 12 extensions, and every single one earns its keep. Here are the ones that actually made a difference in how I code.

1. Sourcegraph Cody — AI That's Actually Useful

I've tried a lot of AI coding tools. Most of them are great at generating boilerplate and terrible at understanding your actual codebase.

Cody is different. It indexes your entire project — not just the file you have open — so when you ask it something, it knows about your types, your APIs, your naming conventions. The inline chat is where it shines: select a function, hit a keybind, and ask "what edge cases am I missing here?" It actually catches things.

Free tier is generous enough for daily use. Worth installing even just for the /explain command on legacy code you inherited.

2. GitHub Copilot — Still the Gold Standard for Autocomplete

Look, I know there's a dozen Copilot alternatives now. But Copilot is still the one that gets out of my way the most. The key is to treat it like a really enthusiastic junior developer — it's great at completing obvious patterns, terrible at architecture decisions.

Where it saves me most time? Writing repetitive code. Test fixtures, API route handlers, CSS with similar patterns. I type the first few lines, Copilot guesses the next 50, I tab through and fix the parts it got wrong. Net savings: probably 30% of my keystrokes.

3. Error Lens — Stop Hovering, Start Seeing

This one feels like cheating. Instead of hovering over red squigglies to see what's wrong, Error Lens just shows the error message inline, right at the end of the line. TypeScript errors, linter warnings, type mismatches — all visible instantly.

I didn't realize how much I was context-switching by hovering until I didn't have to anymore. It's one of those extensions you don't appreciate until you try to go back.

4. Pretty TypeScript Errors — Making TypeScript Less Embarrassing

TypeScript error messages can be terrifying. You've seen them: that wall of Type 'X' is not assignable to type 'Y' that scrolls for three screens.

This extension reformats them. Adds line breaks, highlights the actual type mismatch in color, cuts out the noise. The difference is night and day. If you write TypeScript, you need this. Full stop.

5. GitLens — When You Need to Know Who Broke It

GitLens is one of those extensions that starts as "nice to have" and becomes "I can't work without this."

The inline blame annotations show you who last modified each line and when. When you're staring at a confusing piece of code, being able to see "oh, Sarah changed this two weeks ago" is invaluable. The GitLens sidebar also makes exploring branches and commit history way less painful than the built-in Git tools.

It can be a bit much out of the box — I turn off the CodeLens annotations and keep only the inline blame. Tweak the settings and it's perfect.

6. Thunder Client — API Testing Without Leaving VS Code

Postman is great. But do I really need a whole separate app for hitting an API endpoint?

Thunder Client runs inside VS Code, stores requests as files in your project (so they're version controlled), and handles the basics — GET, POST, auth headers, environment variables. It's not as feature-rich as Postman, but for 90% of what I do (testing my own API routes during development), it's faster because I never leave the editor.

7. Prettier — The Uninstall-and-Forget Extension

The best extensions are the ones you forget exist. Prettier is the king of that category.

Set it to format on save, agree on a config with your team, and never think about formatting again. No more arguments about semicolons or trailing commas. No more manually aligning object properties. Just write code, hit save, and it looks clean.

Pair it with an ESLint config that disables formatting rules (use eslint-config-prettier), and you're golden.

8. Path Intellisense — Small But Mighty

This is a tiny extension that does one thing: autocompletes file paths when you're typing imports or require() statements.

Sounds trivial, but if you've ever typed import { something } from '../../../../components/' and had to guess the folder name, you know the pain. Path Intellisense shows you the directory tree as you type. It saves me from fat-fingering import paths multiple times a day.

9. Markdown Preview Enhanced — For Readme-First Developers

I write a lot of READMEs and internal docs. The built-in VS Code Markdown preview is fine for quick checks, but Markdown Preview Enhanced adds tables of contents, MathJax, diagram support (Mermaid), and PDF export.

If you're the person on your team who actually documents things, this extension makes it less tedious.

10. Snippet Ark Syncing — Your Snippets Everywhere (Shameless Plug)

I built Snippet Ark because I was tired of my code snippets being trapped in one machine. It's a local-first snippet manager that syncs across devices — no cloud vendor lock-in, your data stays yours.

The VS Code integration means your snippets from Snippet Ark show up in the editor's autocomplete, alongside your regular snippets. It syncs to your Mac, your work laptop, and even ZeroPad in the browser. Write a snippet once, use it everywhere.

Full disclosure: this is my product. But I genuinely use it every day, and it solved a real problem I had.

The Honest Truth About Extensions

Here's the thing nobody tells you: most extensions don't make you faster. They make you feel faster because installing them feels productive. The real productivity gains come from learning your editor's built-in features — keyboard shortcuts, multi-cursor, find-and-replace with regex.

So before you install another extension, ask yourself: "Is there a built-in VS Code feature that does this already?" Usually, the answer is yes.

But for the things VS Code can't do well? The 10 above are a solid starting point.

What extensions are you using that I missed? I'm always looking for the next genuinely useful one.