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.
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.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With