5 VS Code extensions that actually save time
Every "best extensions" list eventually turns into a theme showcase. These five are still installed a year later because they remove a specific, recurring annoyance — not because they look nice.
Error Lens
Default VS Code shows errors as small red squiggles you have to hover to read. Error Lens prints the message inline, at the end of the offending line. It sounds minor until you notice how much less you're context-switching to the Problems panel.
GitLens
The parts of GitLens worth the install are the inline blame annotations and the ability to see a line's commit history without leaving the file. Most of its other features (the sidebar views especially) are things I've never opened.
Pretty TypeScript Errors
TypeScript's raw error output is dense and repeats type names you already know. This reformats it — collapsing generic noise and highlighting the part of the message that's actually actionable.
This one only reformats the display of errors in the editor — it has no effect on your actual tsc output or CI checks, so don't rely on it as your only way of catching type errors.
Todo Tree
Scans your codebase for TODO, FIXME, and similar comments and lists them in a sidebar panel. Useful mainly as an honest inventory of what you've told yourself you'd come back to — and a gentle nudge when that list gets long.
Path Intellisense
Autocompletes file paths in import statements, including for files that aren't open yet. Small, but it removes one of the more common typo-driven build failures — a mistyped relative path.
What I stopped using
Icon themes, most linters-on-top-of-linters, and anything that adds a persistent sidebar panel I have to remember to close. If an extension adds visual noise without removing a task, it doesn't survive a year.