-
Notifications
You must be signed in to change notification settings - Fork 37k
Description
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",
]
}