Skip to content

Ability to include additional extensions in an extension that can be installed together #118442

@sandy081

Description

@sandy081

Use Case

As an extension author, I would like to compose an extension that

  • contribute a set of features to VS Code
  • include extensions contributing additional features to VS Code
  • Installing my extension also installs the included extensions
  • User can selectively uninstall/install the included extensions
  • Represent/Highlight extension's features first

Following extensions will benefit from this

Extension Pack

Extension can achieve this currently by declaring the extensions to include using extensionPack property. But this highlights the included extensions as primary feature contributions than promoting the features contributed by the extension which is unwanted.

Proposal 1 - Use extensionPack property & Extension Packs category

Use extensionPack property and signal VS Code to render the extension as Extension Pack or not by using Extension Pack category. If categorized as Extension Pack then the packed extensions are shown prominently otherwise extension is shown as normal extension and packed extensions are shown in separate tab like Dependencies.

Proposal 2 - Extend extensionPack property to define rendering semantics

Introduce a new property showAsExtensionPack in extensionPack schema, that extensions can use to control rendering of the included extensions in the extension editor. If set to true then the included extensions are shown prominently otherwise extension is shown as normal extension and packed extensions are shown in separate tab like Dependencies. Eg:

"extensionPack": {
       "showAsExtensionPack": true,
       extensions: [
             "pub.a",
             "pub.b",
       ]
}

Metadata

Metadata

Labels

extensionsIssues concerning extensionsfeature-requestRequest for new features or functionalityinsiders-releasedPatch has been released in VS Code InsidersuxUser experience issuesverification-neededVerification of issue is requestedverifiedVerification succeeded

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions