Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How does Visual Studio Code (VSCode) recommend extensions to install based on the current workspace?

VSCode recommends language and related extensions, such as the C# extension, based on the files currently loaded and/or edited.

It seems to have a pretty psychic understanding of my needs, so I got curious about how these recommendations work.

Is this something an extension can influence dynamically (perhaps in its manifest up in the cloud), or are there just a static set of rules (such as file type) that VSCode uses to match up against potential extensions?

I took a look at the Extension API but could not find any information about this.

like image 358
bright Avatar asked May 22 '26 11:05

bright


1 Answers

There is a section about recommended extensions in the Visual Studio Code documentation

It also says some stuff about altering the recommendations and such stuff.

UPDATE:

Maybe answers the part of your question about altering the recommendations (from the documentation):

Workspace recommended extensions

A good set of extensions can make working with a particular workspace or programming language more productive and you'd often like to share this list with your team or colleagues. You can create a recommended list of extensions for a workspace with the Extensions: Configure Recommended Extensions (Workspace) command.

In a single folder workspace, the command creates an extensions.json file located in the workspace .vscode folder where you can add a list of extensions identifiers ({publisherName}.{extensionName}).

In a multi-root workspace, the command will open your .code-workspace file where you can list extensions under extensions.recommendations. You can still add extension recommendations to individual folders in a multi-root workspace by using the Extensions: Configure Recommended Extensions (Workspace Folder) command.

An example extensions.json could be:

{   
  "recommendations": [ 
    "ms-vscode.vscode-typescript-tslint-plugin",
    "dbaeumer.vscode-eslint",
    "msjsdiag.debugger-for-chrome"
  ]
} 

which recommends two linter extensions, TSLint and ESLint, as well as the Chrome debugger extension.


Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!