Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

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

Closed
sandy081 opened this issue Mar 8, 2021 · 5 comments
Assignees
Labels
extensions Issues concerning extensions feature-request Request for new features or functionality insiders-released Patch has been released in VS Code Insiders ux User experience issues verification-needed Verification of issue is requested verified Verification succeeded
Milestone

Comments

@sandy081
Copy link
Member

sandy081 commented Mar 8, 2021

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",
       ]
}
@sandy081 sandy081 added feature-request Request for new features or functionality api ux User experience issues extensions Issues concerning extensions labels Mar 8, 2021
@sandy081 sandy081 added this to the March 2021 milestone Mar 8, 2021
@sandy081 sandy081 changed the title Explore: Plug-ins for extensions Explore: Ability to include additional extensions in an extension that can be installed together Mar 10, 2021
@sandy081
Copy link
Member Author

sandy081 commented Mar 10, 2021

@kieferrm @fiveisprime FYI

@mjbvz Sorry, please ignore - its a wrong ping to you.

@sandy081
Copy link
Member Author

Python extension has similar requirement. Python extension provides general Python functionality (e.g. REPL and run file in terminal) while various Python language servers can be used.

The ask is to allow for a default language server to be installed along with the Python extension and it can be uninstalled and replaced by installing a different language server extension.

@sandy081
Copy link
Member Author

If no objections, I would go with proposal 1 ie., to use the category to indicate if the extension is an extension pack.

@sandy081 sandy081 modified the milestones: March 2021, April 2021 Mar 22, 2021
@sandy081 sandy081 changed the title Explore: Ability to include additional extensions in an extension that can be installed together Ability to include additional extensions in an extension that can be installed together Mar 25, 2021
@sandy081 sandy081 removed the api label Mar 25, 2021
@sandy081 sandy081 modified the milestones: April 2021, March 2021 Mar 25, 2021
@sandy081
Copy link
Member Author

sandy081 commented Mar 25, 2021

Implemented proposal 1 and extension pack that is not categorized as Extension Pack will be shown as below

image

@sandy081 sandy081 added the verification-needed Verification of issue is requested label Mar 25, 2021
@sandy081
Copy link
Member Author

To verify:

  • Open an extension that is not categorized as Extension Pack, eg: Remote -SSH extension, and make sure extensions included in extension pack are shown in separate tab.
  • Open an extension that is categorized as Extension Pack, eg: Use Filter by Extension Pack category in Extensions view, and make sure extensions included in extension pack are shown in the main details page.

@TylerLeonhardt TylerLeonhardt added the verified Verification succeeded label Mar 25, 2021
@github-actions github-actions bot locked and limited conversation to collaborators May 9, 2021
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
extensions Issues concerning extensions feature-request Request for new features or functionality insiders-released Patch has been released in VS Code Insiders ux User experience issues verification-needed Verification of issue is requested verified Verification succeeded
Projects
None yet
Development

No branches or pull requests

4 participants
@TylerLeonhardt @sandy081 @miguelsolorio and others