How to Recommend VS Code Extensions with extensions.json

Create an extensions.json file in your project's .vscode folder so teammates can review and install the extensions needed for that workspace.

5 min read

An extensions.json file tells VS Code which extensions a contributor should review for a single-folder workspace. Place it in .vscode, commit it with the project, and VS Code can show those entries as workspace recommendations.

Recommendations are suggestions, not automatic installs or security approvals. Verify each extension before adding it.

Create the file

Open the command

Open the Command Palette (Ctrl+Shift+P / Cmd+Shift+P) and run Extensions: Configure Recommended Extensions (Workspace Folder).

Choose the scope

In a single-folder workspace, VS Code creates .vscode/extensions.json. Multi-root workspaces use a different workspace-wide location, covered below.

Add extension identifiers

VS Code opens the file with an empty recommendations array. Add extension identifiers in the format publisher.extension, one per line.

jsonjson
{
  "recommendations": [
    "dbaeumer.vscode-eslint",
    "esbenp.prettier-vscode"
  ]
}

VS Code provides autocomplete for installed extensions, so you can type a partial name and pick from the suggestions.

The example uses the ESLint and Prettier identifiers shown in the official VS Code documentation. Keep an identifier only when that extension matches the project's tooling.

Save and commit

Save the file. Commit it to your repository so every team member sees the recommendations when they open the project.

How teammates see recommendations

When someone opens the workspace for the first time, VS Code prompts them to install its recommended extensions. The exact notification presentation can vary with the current interface and the user's recommendation settings.

The safer path is to run Extensions: Show Recommended Extensions and review the entries before installing them.

They can also see the recommendations any time by opening the Extensions view and typing @recommended in the search box. Workspace recommendations appear in a group labeled Workspace Recommendations.

Verify extension identifiers and safety

Each extension is identified by publisher.extension. To find the identifier:

  • Open the Extensions view (Ctrl+Shift+X / Cmd+Shift+X)
  • Select the extension to open its details page
  • Look under Marketplace Info for the Identifier field
  • Copy the value, for example ms-python.python

You can also get the identifier from the extension's Marketplace URL. Its itemName query parameter contains the value.

Before committing a recommendation, confirm the current publisher, availability, price, compatibility, permissions, telemetry or privacy behavior, workspace trust support, and remote support when relevant. The official Extension Marketplace guidance explains identifiers, recommendations, signatures, and publisher trust, but a listing does not make an extension automatically appropriate or safe for the project.

Multi-root workspace recommendations

In a multi-root workspace, you have two places to define recommendations:

LocationApplies to
extensions in the .code-workspace fileAll roots in the workspace
.vscode/extensions.json in one rootThat root folder

Workspace-level recommendations go under an extensions key in the workspace file:

jsonjson
{
  "folders": [{ "path": "./frontend" }, { "path": "./backend" }],
  "extensions": {
    "recommendations": [
      "dbaeumer.vscode-eslint"
    ]
  }
}

Run Workspaces: Open Workspace Configuration File to edit workspace-wide recommendations. Use a folder's .vscode/extensions.json when only that root needs an extension.

Control how recommendations appear

The recommended view can contain two groups:

  • Workspace Recommendations from the current workspace configuration
  • Other Recommendations based on recently opened files

Set extensions.showRecommendationsOnlyOnDemand to true to remove the recommended section from the Extensions view. Set extensions.ignoreRecommendations to true to silence recommendation notifications. Extensions: Show Recommended Extensions remains available for an on-demand review.

Manage recommendations in remote environments

VS Code does not synchronize extensions to or from remote windows such as SSH, WSL, or Dev Containers. Workspace recommendations can still appear, but VS Code installs and runs extensions according to their declared kind: UI extensions run locally, while workspace extensions run where the workspace is located, which is the remote environment in a remote window.

Use Developer: Show Running Extensions to confirm whether an installed extension runs locally or remotely. To share project configuration more broadly, see how to share VS Code project settings with your team. For the other project configuration files, read what is the .vscode folder.

Rune AI

Rune AI

Key Insights

  • In a single-folder workspace, create .vscode/extensions.json with the official configuration command.
  • Add only verified publisher.extension identifiers the project needs.
  • Recommendations do not install or trust extensions automatically.
  • Put multi-root workspace-wide recommendations in the .code-workspace file.
  • Review publisher, pricing, access, privacy, and remote support before recommending an extension.
RunePowered by Rune AI

Frequently Asked Questions

What if an extension identifier is wrong or unavailable?

The recommendation cannot provide a usable install path. Verify every identifier and Marketplace listing before committing the file, then update or remove stale entries during reviews.

Can I recommend extensions for a specific folder in a multi-root workspace?

Yes. Put extensions.json in that root folder's .vscode directory. Put recommendations needed across all roots in the .code-workspace file.

How do I find the exact identifier for an extension?

Open the extension's details page and find Identifier under Marketplace Info. The format is publisher.extension and also appears in the Marketplace URL's itemName parameter.

Conclusion

Add verified publisher.extension identifiers to the recommendations array and commit the configuration. Teammates can then review the workspace recommendations and choose which extensions to install.