keepcalculator

06 Numbers and Powers

VS Code Extensions Explained: Picks & Setup

Card No. 06·10160 · Updated · Standard formula, shown below

The calculator on this card is switched off while it is checked. The formula is below, and the worked example shows how to do the sum by hand.

Visual Studio Code extensions are add-on packages that install new features, language support, themes, and tools directly into the editor, letting you tailor it for nearly any programming language or workflow. You can browse, install, and manage them from the Extensions view (Ctrl+Shift+X) inside VS Code, with thousands of free options available from the Visual Studio Marketplace. This article explains how extensions work, how to choose the right ones, common pitfalls, and answers frequent questions about them.

What Are VS Code Extensions?

An extension is a folder containing JavaScript code, configuration files, and sometimes native binaries that VS Code loads at startup. Extensions can add language syntax highlighting, intelligent code completion (IntelliSense), debugging support, linters, formatters, themes, keyboard shortcuts, and even entire new views in the sidebar. They are the primary way VS Code stays lightweight while still supporting hundreds of programming languages and tools.

Most extensions are published to the Visual Studio Marketplace, which is a free public registry. Microsoft maintains the marketplace, but anyone can publish an extension. There is also an Open VSX registry used by some community builds like VSCodium. Extensions are written in TypeScript or JavaScript and use the VS Code Extension API, which provides hooks for almost every part of the editor.

How to Find and Install Extensions

Installing an extension takes only a few clicks:

  • Open the Extensions view by clicking the square icon in the left activity bar or pressing Ctrl+Shift+X (Windows/Linux) or Cmd+Shift+X (Mac).
  • Search by name, language, or keyword (e.g., “Python”, “Prettier”, “GitLens”).
  • Click the blue Install button on the extension’s card.
  • After installation, some extensions require a reload or restart of VS Code to activate.

You can also install extensions from the command line using code --install-extension publisher.extensionName, or by clicking the “More” (⋯) menu in the Extensions view and selecting “Install from VSIX” to install a packaged file manually. For teams, you can share a list of recommended extensions using an extensions.json file inside the .vscode folder of a project.

How to Choose Extensions Wisely

With over 50,000 extensions available, choosing well matters. Start with what your work actually needs, not what looks popular. For example:

  • Language support: Python, JavaScript/TypeScript, C#, Go, Rust, or Java extensions provide syntax highlighting, IntelliSense, and debugging.
  • Formatting and linting: Prettier (code formatter), ESLint (JavaScript linting), and Black (Python formatter) keep code consistent.
  • Version control: GitLens adds blame annotations, history exploration, and more powerful Git features beyond the built-in Git support.
  • Productivity: Live Share (real-time collaborative editing), Remote-SSH (edit files on remote servers), and Bracket Pair Colorizer (now built-in) are popular.
  • Themes and icons: One Dark Pro, Material Icon Theme, and others change the visual appearance.

A good rule: install only what you will use regularly. Each extension consumes some memory and can slow startup. Check the extension’s rating, number of installs, last update date, and read the description to see if it is actively maintained. Extensions that haven’t been updated in years may break with new VS Code versions.

Common Problems and How to Fix Them

Extensions can occasionally cause issues. Here are the most frequent ones and their solutions:

  • Extension not activating: Check the Output panel (View → Output) and select the extension’s log channel. Many extensions only activate when you open a file of the relevant language or run a specific command.
  • Conflicts between extensions: Two extensions may try to handle the same file type or shortcut. Disable one at a time to isolate the culprit. You can disable an extension from the Extensions view (right-click → Disable).
  • Performance slowdown: Too many extensions or a heavy one can make the editor sluggish. Use the “Running Extensions” dropdown in the Extensions view to see which are active, and consider disabling those you don’t need.
  • Corrupt extension installation: If an extension misbehaves, uninstall it and reinstall. For stubborn issues, restart VS Code with all extensions disabled using code --disable-extensions.
  • Network or proxy issues: Some corporate networks block the marketplace. You can set the http.proxy setting or manually download the VSIX file and install it.

Security and Trust: What to Watch Out For

Extensions run with the same privileges as your user account, meaning they can read files, access the network, and execute commands. This makes security an important consideration. Microsoft runs some automated scanning for malware, but it is not foolproof. There have been reported cases of malicious extensions on the marketplace, so exercise caution:

  • Prefer extensions from well-known publishers (e.g., Microsoft, Google, or the language’s official team).
  • Read the extension’s description and check the number of installs and user reviews.
  • Look at the source code if the extension is open-source (many are).
  • Avoid extensions that request unnecessary permissions or ask for personal information.
  • Use the built-in “Restricted Mode” when opening untrusted folders; it disables extensions automatically.

If you work in a sensitive environment, consider using a separate VS Code profile (via the Profiles feature) or a dedicated workspace for untrusted code.

Alternatives to the Marketplace

While the Visual Studio Marketplace is the default, there are alternatives. Open VSX is a community-driven registry that serves as the default for VSCodium and other open-source builds. It hosts many popular extensions but not all, as some publishers only release on Microsoft’s marketplace. You can also install extensions directly from a VSIX file, which is useful for proprietary or internal tools. For teams, using a shared extensions.json file ensures everyone installs the same set of extensions, avoiding version mismatch.

Managing and Updating Extensions

VS Code checks for extension updates automatically by default. You can manage this in Settings (extensions.autoUpdate). To update manually, go to the Extensions view, click the “More” (⋯) menu, and select “Check for Extension Updates.” You can also disable auto-update for individual extensions if a new version breaks your workflow. To uninstall, right-click the extension and select “Uninstall”. Extensions can be disabled globally or per workspace, which is useful when a project requires a specific version.

Frequently Asked Questions

Do VS Code extensions work on all operating systems?

Most extensions are cross-platform because they are written in JavaScript and run inside the VS Code process. However, some extensions rely on platform-specific binaries (e.g., debuggers for native code) and may only work on Windows, macOS, or Linux. Check the extension’s description for platform notes.

Can I write my own extension?

Yes. Microsoft provides a Yeoman generator (yo code) that scaffolds a new extension project. You need Node.js and npm installed. The official documentation has a tutorial that walks through creating a simple extension that adds a command. Extensions can be published to the marketplace for free, though you need a publisher account.

Why is an extension not showing up in the marketplace search?

This usually happens if the extension is not published to the marketplace you are connected to, or if your VS Code version is too old. Some extensions are only available on Open VSX. Also, check your proxy settings or firewall that may block the marketplace API.

Do extensions slow down VS Code?

Yes, each active extension consumes some memory and CPU. The impact varies. Heavy extensions like language servers or GitLens can noticeably affect performance on large projects. You can see which extensions are running and their resource usage in the “Running Extensions” dropdown. Disable unused ones to speed up startup.

What is the difference between an extension and a built-in feature?

Built-in features are part of VS Code itself and are always available. Extensions add features on top. Some features that were once extensions (like Bracket Pair Colorization) have been integrated into the core editor. You can disable built-in extensions too, but they are usually well-tested and stable.

Related

Formula used

Each line is one input (in, sel, list) or one result (out: label, unit, formula, decimals). How the calculators work

Method: the standard formula for this calculation, rounded as each result states. See how the calculators work or report an error.

More cards in this drawer

The whole Numbers and Powers drawer →