Closed InSyncWithFoo closed 1 month ago
The aforementioned issue was closed. One good news, one bad news:
This probably means I should be removing most of the SDK parts as well.
uv will be supported as an environment type. This means, on 2025.1 at the earliest (~3 months until EAP, 5 or 6 months until stable), we will have a proper generator.
uv's generator should stay for now. It will be removed as soon as a version natively supporting uv is released, or newProject
is removed, whichever comes first.
The new logic might break old environments, but so be it.
The generator was a reimplementation of the now-deprecated
newProject
module. That module's replacement,newProjectWizard
is, however, not what we need: It does provide a much better interface for framework plugins, but not project and package manager ones (I'm sure RyeCharm is currently the only one in this second category).newProjectWizard
makes use ofsdk.add.v2
, which has recently been made internal. The Marketplace team won't even approve a plugin using internal APIs, so if I were to reimplementnewProjectWizard
, I would also have to copy the entiresdk.add.v2
over.All of these modules (as well as other related ones) are changing at a very fast pace. To be clear, this is very welcoming news: it means future plugin developers won't have to go through what I went through. On the other hand, these changes mean an unofficial fork would take a lot of efforts to maintain.
Why would I reimplement such legacy code, you ask? It's because there aren't any official APIs. I have requested that the Custom environment subpanel be extendable from third-party plugins. Please vote for the issue to show your support.
(For reference, currently this subpanel allows choosing from a list of Virtualenv, Conda, Pipenv and Poetry, all hardcoded.)
In the mean time, the generator is but a burden. I have decided that it's best to just remove it.