↓Skip to main content
Alemasone

Must-Have VS Code Extensions You Should Install Now

Quality over quantity: discover the best formatters, linters, and Git tools for web development without slowing down your editor.

8 min read Updated on
Visual Studio Code editor open with the extensions panel in focus
On this page
Having thirty extensions installed is a problem, not a configuration. Each one slows down startup, consumes memory, and can conflict with others. The ones you actually need can be counted on the fingers of two hands, and many things that required an extension years ago are now built directly into Visual Studio Code.

Before adding anything, look at what the editor already does: format on save, renaming symbols across the entire project, Git, terminal, find and replace with regular expressions, multiple cursors, Markdown preview, settings sync, JavaScript debugging in the browser, and bracket pair colorization. For those last three, until a few years ago, you needed Settings Sync, Debugger for Chrome, and Bracket Pair Colorizer: if you still have them, you can remove them.

You install extensions from the Extensions view (Ctrl + Shift + X): search for the name, press Install, and they usually work immediately. Almost all of them are free. Here is the essentials list, categorized by function.

Code quality #

Prettier formats your code according to common rules: no more arguments about quotes, semicolons, or indentation. You configure it once per project with a .prettierrc file and enable Format On Save in your settings.

ESLint is the linter: it flags actual errors and risky habits while you write, not when the program crashes. It also needs to be installed as a package within your project; the extension alone isn’t enough.

EditorConfig enforces the same basic rules (indentation type, end of line, encoding) across all editors, which is indispensable when someone in your group uses a different program.

With these three, most of the stylistic differences that clutter code reviews will disappear.

Artificial intelligence #

GitHub Copilot is now integrated into VS Code: it completes lines as you type, answers questions in the side chat, and can edit multiple files for you in agent mode. Since 2024, there has been a free plan with a limited number of completions and messages per month, and in 2025, Microsoft made the built-in chat part open source.

If you prefer another model, there are extensions for Gemini Code Assist, Claude Code, Codex, and open alternatives like Continue, which can also connect to models installed on your computer. Tabnine, which was mentioned in older lists, still exists but has lost ground.

Two precautions. The code you send to an assistant ends up on the provider’s servers, so if you are working on professional projects, check what your company allows. And always double-check what it writes: it can be very confidently wrong.

Git and collaboration #

GitLens shows you who wrote every line and when, right next to the code, making history easy to read without leaving the editor. When working on code written by others, it is one of the most useful tools available. Some features, such as the Commit Graph for private repositories, are part of the Pro version.

Git Graph is the free alternative if you only need a graph of branches and commits—the same job once done by the old Git History.

Live Share allows two people to edit the same file simultaneously from their own computers, sharing terminals and local servers as well. For helping someone remotely, it works better than any screen-sharing tool.

GitLens Commit Graph in Visual Studio Code with commit and branch history
The GitLens Commit Graph shows your project’s branches and commits at a glance

Web development #

Live Server starts a small local server that refreshes the browser every time you save. For static sites or HTML/CSS exercises, it is the fastest way to work.

Auto Rename Tag renames the closing tag when you change the opening one: a small feature, but it saves you a lot of manual corrections.

Your framework extensions (React, Vue, Svelte, Astro) provide specific autocompletion and diagnostics. Only install the one for the framework you are actually using; others just add bloat. For React, ES7+ React/Redux/React-Native Snippets lets you create a component with just a few keystrokes, such as rafce.

CSS Peek allows you to open the CSS rule for a class directly from your HTML, and the editor already shows the color of hex codes next to their values.

Thunder Client or a similar extension lets you test API calls directly from the editor without opening a separate program.

Languages and environments #

Here, the rule is to only install what you actually use:

ScopeRecommended Extension
PythonThe official Python extension with Pylance
C and C++Microsoft’s C/C++ extension or clangd
Docker and containersContainer Tools (formerly known as the Docker extension)
Remote server workRemote - SSH, to work as if files were local
DatabasesA client extension for the database you use
MarkdownMarkdown All in One, for shortcuts, TOC, and preview
CSV FilesRainbow CSV, which color-codes columns

Remote - SSH deserves a bit more explanation: it opens a folder on a remote machine and lets you use all the editor’s features—including the terminal—as if the code were on your own computer. If you develop on servers, this is a game-changer. With WSL, you can do the same with Linux inside Windows.

Visual Studio Code with the Remote - SSH extension panel and connection to a remote server
With Remote - SSH, the editor works on server files as if they were local

To quickly test a script in any language, there is Code Runner, which runs it with a single click. It’s handy for exercises; for a real project, use the terminal or the debugger.

Everyday convenience #

Code Spell Checker flags typos in comments, strings, and variable names. If you install the Italian dictionary, you can use it for text as well.

Error Lens displays error messages right next to the line instead of just in the bottom panel: you see them exactly where you are already looking.

Path Intellisense autocompletes file paths as you type and reduces errors in relative links.

Todo Tree collects all the TODO and FIXME comments in your project into a single panel, Bookmarks lets you bookmark lines you visit frequently, and Peacock colors each window differently for every project—which is super helpful when you have three different projects open at once.

Themes and icons (like vscode-icons or Material Icon Theme) are a matter of personal taste and don’t change how things work: just pick one and stop searching.

Use profiles. With VS Code profiles, you can have different groups of extensions for different contexts—for example, one for web development, one for Python, and a minimal one for writing—and switch between them without uninstalling anything. This keeps the editor lightweight without sacrificing any features.

Extensions that slow down the {#prestazioni}editor #

If VS Code takes several seconds to open, an extension is usually to blame.

The Developer: Show Running Extensions command from the Command Palette (Ctrl + Shift + P) lists all active extensions along with their activation time: you can find the culprit in just a few seconds.

Help: Start Extension Bisect is even faster: it disables half of your extensions at a time until it finds the one causing the problem.

VS Code’s Running Extensions list showing the activation time for each extension
The list sorts extensions by activation time: the culprit will be right at the top

Watch out for clones. The Marketplace contains extensions with names nearly identical to famous ones, sometimes containing malicious code that reads your files or steals credentials; this has happened several times even in 2025. Before installing, check that the publisher has a verification badge, look at the number of installs, and open the project’s repository link.

How many are enough #

For web developers, a sensible setup consists of eight extensions: Prettier, ESLint, EditorConfig, GitLens, Live Server, your framework’s extension, Error Lens, and Code Spell Checker. Add Remote - SSH if you work on servers, an AI assistant if you need one, and the language extension for whatever you use outside of web development.

Evaluate the rest only when you have a specific problem, not before. The extension you install “just in case it might be useful” is the one that slows down startup six months from now without anyone remembering why it’s even there.

FAQ #

Do extensions slow down Visual Studio Code? #

Yes, and it can be measured: each one adds to startup time and memory usage. The difference between ten extensions and forty is most noticeable when opening large projects. You can use the built-in diagnostic tools to see exactly how much each one costs you.

Are extensions free? #

Most are, and many are open source. Some have paid features (GitLens Pro, Thunder Client for teams), and AI assistants typically offer free tiers with certain limits alongside subscriptions for heavy use.

Can I sync my extensions across multiple computers? #

Yes, syncing is built-in: just enable it via the account icon in the bottom left to sync your extensions, settings, shortcuts, and themes across all devices logged into the same GitHub or Microsoft account.

Do Prettier and ESLint do the same thing? #

No, they are used together. Prettier handles formatting (spaces, line breaks, quotes) and is purely aesthetic. ESLint checks substance: unused variables, risky comparisons, and recurring logic errors. With the right eslint-config-prettierconfiguration, the two won’t conflict.

Do I need an extension to work with Git? #

No, the editor already handles everyday operations. GitLens adds context (who wrote what, when, and why), which becomes invaluable in projects with a long history or many contributors.

How can I tell if an extension is safe? #

Check that the publisher is verified, look at the installation count and ratings, and open the repository to see if the project is active. Be wary of extensions with names almost identical to famous ones or those recently published without any history.

Read next