diff --git a/java/idea-ui/src/com/intellij/ide/projectWizard/ProjectTypeStep.java b/java/idea-ui/src/com/intellij/ide/projectWizard/ProjectTypeStep.java index 49ec4e25bee6..7b0f2f306e52 100644 --- a/java/idea-ui/src/com/intellij/ide/projectWizard/ProjectTypeStep.java +++ b/java/idea-ui/src/com/intellij/ide/projectWizard/ProjectTypeStep.java @@ -376,7 +376,9 @@ public final class ProjectTypeStep extends ModuleWizardStep implements SettingsS generators.removeIf(it -> !it.isEnabled()); generators.sort(Comparator.comparing(it -> it.getOrdinal())); if (context.isCreatingNewProject()) { - generators.add(new EmptyProjectGeneratorNewProjectWizard()); + GeneratorNewProjectWizard.EP_NAME.forEachExtensionSafe(wizard -> { + generators.add(wizard); + }); } var generatorItems = ContainerUtil.map(generators, it -> new LanguageGeneratorItem(it)); for (var generatorItem : generatorItems) { diff --git a/java/plugin/resources/META-INF/plugin.xml b/java/plugin/resources/META-INF/plugin.xml index a4d7e4cd9c34..4ce5be55c713 100644 --- a/java/plugin/resources/META-INF/plugin.xml +++ b/java/plugin/resources/META-INF/plugin.xml @@ -45,5 +45,6 @@ + \ No newline at end of file diff --git a/platform/platform-impl/api-dump-unreviewed.txt b/platform/platform-impl/api-dump-unreviewed.txt index 207455a96273..abad821dc4d9 100644 --- a/platform/platform-impl/api-dump-unreviewed.txt +++ b/platform/platform-impl/api-dump-unreviewed.txt @@ -10429,6 +10429,8 @@ com.intellij.ide.wizard.BuildSystemNewProjectWizardData - a:getBuildSystemProperty():com.intellij.openapi.observable.properties.GraphProperty - a:setBuildSystem(java.lang.String):V com.intellij.ide.wizard.GeneratorNewProjectWizard +- sf:Companion:com.intellij.ide.wizard.GeneratorNewProjectWizard$Companion +- sf:EP_NAME:com.intellij.openapi.extensions.ExtensionPointName - a:createStep(com.intellij.ide.util.projectWizard.WizardContext):com.intellij.ide.wizard.NewProjectWizardStep - getDescription():java.lang.String - getGroupName():java.lang.String @@ -10437,6 +10439,7 @@ com.intellij.ide.wizard.GeneratorNewProjectWizard - a:getName():java.lang.String - getOrdinal():I - isEnabled():Z +f:com.intellij.ide.wizard.GeneratorNewProjectWizard$Companion a:com.intellij.ide.wizard.GeneratorNewProjectWizardBuilderAdapter - com.intellij.ide.wizard.AbstractNewProjectWizardBuilder - sf:Companion:com.intellij.ide.wizard.GeneratorNewProjectWizardBuilderAdapter$Companion diff --git a/platform/platform-impl/src/com/intellij/ide/wizard/GeneratorNewProjectWizard.kt b/platform/platform-impl/src/com/intellij/ide/wizard/GeneratorNewProjectWizard.kt index 9e3f6186696e..53725b11307e 100644 --- a/platform/platform-impl/src/com/intellij/ide/wizard/GeneratorNewProjectWizard.kt +++ b/platform/platform-impl/src/com/intellij/ide/wizard/GeneratorNewProjectWizard.kt @@ -2,6 +2,7 @@ package com.intellij.ide.wizard import com.intellij.ide.util.projectWizard.WizardContext +import com.intellij.openapi.extensions.ExtensionPointName import com.intellij.openapi.util.NlsContexts import com.intellij.util.PlatformUtils import org.jetbrains.annotations.Nls @@ -17,6 +18,11 @@ import javax.swing.Icon */ interface GeneratorNewProjectWizard { + companion object { + @JvmField + val EP_NAME = ExtensionPointName("com.intellij.newProjectWizard.generator") + } + /** * The unique identifier to distinguish this generator from others in the new project wizard. */ diff --git a/platform/platform-resources/src/META-INF/PlatformExtensionPoints.xml b/platform/platform-resources/src/META-INF/PlatformExtensionPoints.xml index d53715cd4769..5baa0742f516 100644 --- a/platform/platform-resources/src/META-INF/PlatformExtensionPoints.xml +++ b/platform/platform-resources/src/META-INF/PlatformExtensionPoints.xml @@ -474,6 +474,8 @@ + +