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

Update how the Python "extension pack" is published #235854

Closed
thernstig opened this issue Mar 14, 2024 · 7 comments
Closed

Update how the Python "extension pack" is published #235854

thernstig opened this issue Mar 14, 2024 · 7 comments
Assignees
Labels
extensions Issues concerning extensions feature-request Request for new features or functionality *out-of-scope Posted issue is not in scope of VS Code

Comments

@thernstig
Copy link
Contributor

I am not 100% sure this is a proper feature request, or if it is even a bug, but I wanted to report it as an inconsistency I see.

The Remote Development extension pack is presented just as that, an Extension Pack. It contains only 4 extensions, and when you install this you can see in the extension view the 4 icon that it contains 4 extensions.

image

But for the Python extension, it is presented as a normal extension in addition to an extension pack. This means it installs Python + two other extensions. This is not visible with an icon such as for the Remote Development extension pack. Also I would recon that Python then should maybe rather be presented as a pure extension pack as the Remote Development?

image

Compare with e.g. Ruff that insted has dependencies. I would recon that if Python requires Pylance and Python Debugger, it would be better to have them as dependencies. If they are not required, we are back to the above scenario if it better being an extension pack since it then clearly indicates it will install more than just the main Python extension.

image

@thernstig thernstig added the feature-request Request for new features or functionality label Mar 14, 2024
@rootsmusic

This comment was marked as off-topic.

@thernstig
Copy link
Contributor Author

Still, if Pylance is installed as part of installing Python, then Python is an extension pack + an extension, and should at least indicate this by a 2 icon. Ideally there would be a "Python Extension Pack" instead separately and the "Python" installation then becomes a pure extension.

@eleanorjboyd
Copy link
Member

Hi! The reason we do not have it as an extension pack (nor do we have it listed as dependencies) is because the python debugger and pylance are optional dependencies and this is something that currently the marketplace does not support. Thanks

@luabud
Copy link
Member

luabud commented Mar 18, 2024

Hi there! As Eleanor mentioned, the Python extension is not an official "Extension Pack", as an extension pack is a collection of many extensions and the Python extension can work as a standalone extension. We use the "extension pack" mechanism as a workaround to automatically install Pylance and the Python Debugger extensions but also allowing them to be optional dependencies, i.e. to be uninstalled (if they were added as Dependencies like in the Ruff example, they wouldn't be optional).

@isidorn do you know if there're any updates that would allow us to better solve this problem? I think it'd help at lot if the number of installed extensions (in our case, optional dependencies) were displayed as a banner on the extensions view, without requiring the Python extension to be an "official extension pack"

Also to clarify @rootsmusic comment:

Python Debugger will be removed from the Python extension pack microsoft/vscode-python#23032

The Python Debugger extension will continue being installed as part of the Python extension, what is going to be removed is the the built-in debugger code that still exists in the Python extension.

@thernstig
Copy link
Contributor Author

@luabud @eleanorjboyd ok, so I understand the situation as a workaround due to missing functionality in VS Code and handling of extension pack and optional dependencies.

@luabud you are correct in that the main gripe I have is that it actually installs 3 extensions, when there is no indication of this, and if the problem lies in the VS Code repo and inability to help in your scenario, is there an upstream issue to solve this?

My second question is, how come you do not instead publish an actual extension pack, with all these three included?

Ideally though I think a cool idea for VS Code to fix would be that an extension pack can mark some dependencies as optional. When a user clicks to install such an extension pack, a popup (or similar) shows where the optional dependencies have check boxes, but can be deselected (whereas mandatory cannot be deselected). Of course, this is still an upstream issue.

@thernstig thernstig changed the title Update how the Python extension pack is published Update how the Python "extension pack" is published Mar 19, 2024
@isidorn
Copy link
Contributor

isidorn commented Mar 27, 2024

@luabud no good solution for this right now. Python is a bit special since it is an extension pack that is also an extension.
But I do understand the issues here, and something @sandy081 and me should keep in mind and potentially add some decorations to clarify this.

@eleanorjboyd eleanorjboyd transferred this issue from microsoft/vscode-python Dec 11, 2024
@justschen justschen added the extensions Issues concerning extensions label Dec 13, 2024
@sandy081 sandy081 added the *out-of-scope Posted issue is not in scope of VS Code label Dec 16, 2024
Copy link

We closed this issue because we don't plan to address it in the foreseeable future. If you disagree and feel that this issue is crucial: we are happy to listen and to reconsider.

If you wonder what we are up to, please see our roadmap and issue reporting guidelines.

Thanks for your understanding, and happy coding!

@vs-code-engineering vs-code-engineering bot closed this as not planned Won't fix, can't repro, duplicate, stale Dec 16, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
extensions Issues concerning extensions feature-request Request for new features or functionality *out-of-scope Posted issue is not in scope of VS Code
Projects
None yet
Development

No branches or pull requests

7 participants