I’m a plugin developer who has been maintaining a PyCharm plugin that adds custom project creation functionality. After upgrading from PyCharm 2024.x to 2025.2, my plugin’s project creation action is no longer visible in the New Project dialog, even though the plugin loads without errors.
Environment Details
-
PyCharm Version: 2025.2 (252.x)
-
Previous Working Version: 2024.x
-
Plugin Type: Custom project generator
-
Target Platform: Both PyCharm Community and Professional
Technical Background
What Previously Worked
In PyCharm 2024.x, I implemented a custom project generator by:
- Implementing DirectoryProjectGenerator interface:
class MyCustomProjectGenerator : DirectoryProjectGenerator<MySettings> {
// Custom project creation logic
override fun generateProject(project: Project, baseDir: VirtualFile, settings: MySettings, module: Module) {
// Implementation
}
}
- Registering via plugin.xml:
<extensions defaultExtensionNs="com.intellij">
<directoryProjectGenerator implementation="com.example.MyCustomProjectGenerator"/>
</extensions>
This approach worked perfectly and the custom project type appeared in PyCharm’s New Project dialog.
What’s Broken in 2025.2
After analyzing PyCharm 2025.2 source code, I discovered that the project creation mechanism has been refactored. In PyV3NewProjectStepAction.getActions()
, there’s now a filtering logic:
// Show non-python actions as a collapsed group
val actions = super.getActions(generators, callback)
val pythonActions = actions.filter {
it is PyV3ProjectSpecificStep ||
it is PromoStep && it.generator.isPython
}
This filter only allows:
-
Actions implementing
PyV3ProjectSpecificStep
-
PromoStep
actions wheregenerator.isPython
is true
Investigation Results
-
DirectoryProjectGenerator still exists but seems to be filtered out by the new logic
-
PyV3ProjectSpecificStep appears to be the new expected interface, but it’s marked as
internal
and not accessible for plugin development -
No migration documentation found in official PyCharm 2025.2 release notes or plugin development documentation
-
API changes documentation doesn’t mention this breaking change
What I’ve Tried
-
Verified plugin loading: Plugin loads successfully, no errors in IDE logs
-
Checked DirectoryProjectGenerator registration: Still registered correctly
-
Reviewed 2025.2 API changes: No mention of this change in official documentation
-
Attempted to implement PyV3ProjectSpecificStep: Class is marked as
internal
and not accessible -
Tried PromoStep approach: Unable to find proper documentation or examples
Questions for JetBrains Team
-
Is this an intentional breaking change? Should plugins no longer use DirectoryProjectGenerator?
-
What’s the official migration path? How should plugin developers adapt their project generators for 2025.2?
-
Will PyV3ProjectSpecificStep be made public? Or is there an alternative public API we should use?
-
Documentation availability: When will the official migration guide be available?
-
Backward compatibility: Will there be a compatibility layer for existing DirectoryProjectGenerator implementations?
Impact
This change affects not just my plugin but potentially all PyCharm plugins that provide custom project creation functionality. Many plugin developers might face this same issue when users upgrade to 2025.2.
Requested Assistance
I would greatly appreciate:
-
Official guidance on how to migrate DirectoryProjectGenerator implementations to work with 2025.2
-
Code examples or documentation showing the proper way to implement custom project creation in 2025.2
-
Timeline information for when official documentation will be available
-
Temporary workarounds if available while waiting for official solutions
Additional Context
This appears to be a significant architectural change in PyCharm’s project creation system, but the lack of migration documentation makes it difficult for plugin developers to adapt. Any guidance from the JetBrains team would be extremely helpful for the plugin development community.
Thank you for your time and assistance!