VS Code Extensions Worth Installing in 2026

2026-03-27 · SPUNK13 · spunk.bet

The eleven that earn their place

Every extension you install is code loaded into the extension host process, so the bar for keeping one should be higher than "it looked interesting". These clear it.

ExtensionWhat it doesCost
ESLintSurfaces your project's lint rules inline and fixes them on save. It runs your installed ESLint, so it inherits your config rather than inventing one.Free
PrettierOpinionated formatting on save. Ends whitespace arguments in review by removing the decision.Free
Error LensPrints diagnostics at the end of the offending line instead of hiding them behind a hover. The single biggest reduction in mouse movement on this list.Free
GitLensInline blame on the current line, file history, and a side-by-side view of who changed what and why.Free core; paid Pro tier for the hosted-service and worktree features
Remote - SSHRuns the whole VS Code server on a remote host. Your editor is local, the filesystem, terminal and language servers are on the box.Free
Dev ContainersOpens a repo inside a container defined by .devcontainer/devcontainer.json, so toolchain versions come from the repo, not from whatever you installed in 2023.Free
Docker / Container ToolsDockerfile and compose completion, plus a panel for images, containers and logs without leaving the window.Free
REST ClientSends HTTP requests from a plain .http file you can commit next to the code. No account, no cloud sync, diffable in review.Free
Thunder ClientA graphical API client inside the sidebar if you prefer collections and a form over raw text.Free tier with limits; paid plans for teams
Even Better TOMLSchema-aware TOML with validation and formatting. Essential once you are editing Cargo.toml or pyproject.toml daily.Free
Code Spell CheckerCatches typos in identifiers, comments and user-facing strings. Add project jargon to cspell.json and commit it.Free
indent-rainbowTints indentation levels. Genuinely useful in deeply nested YAML; skip it if you mostly write braces.Free

Extensions the editor made redundant

A large share of the "top ten" lists still circulating recommend things VS Code now does natively. Bracket Pair Colorizer is archived — the feature moved into the core renderer and is on by default via editor.bracketPairColorization.enabled, where it is dramatically faster than the extension ever was. Sticky headers for the enclosing function are built in behind editor.stickyScroll.enabled. Automatic tag renaming in HTML ships in the built-in language support. Before installing anything, search the Settings UI for the feature name; the built-in version runs in the main process and costs you no host startup time.

Find out what your extensions actually cost

Open the command palette and run Developer: Show Running Extensions. You get every active extension, its activation event, and how many milliseconds it took to activate. Anything with an activation time in the hundreds of milliseconds, or activating on * rather than on a specific language or file pattern, is a candidate for removal.

Two more diagnostics worth knowing. Developer: Startup Performance breaks down where window load time went. And code --disable-extensions launches a clean instance, which settles the "is it the editor or is it me" question in ten seconds. If the clean instance is fast, bisect by disabling half your extensions at a time.

Keep the list per project, not per machine

The reason most setups bloat is that everything is installed globally and never uninstalled. VS Code supports enabling an extension for one workspace only, from the gear icon in the Extensions view, which keeps a Python toolchain out of the way while you are in a Go repo. Better still, commit .vscode/extensions.json so a new contributor is prompted with the right set:

{
  "recommendations": [
    "dbaeumer.vscode-eslint",
    "esbenp.prettier-vscode",
    "usernamehw.errorlens",
    "tamasfe.even-better-toml"
  ],
  "unwantedRecommendations": ["coenraads.bracket-pair-colorizer-2"]
}

Pair it with a committed .vscode/settings.json that pins the default formatter and editor.formatOnSave. That combination is what stops a pull request from arriving as three real changes and four hundred lines of reformatting.

Explore More

Free tools, guides, and resources.

Visit spunk.bet
400+ ToolsCasinoMemesAstrologyScam DB