dedicated newProjectWizard.generator EP for plain GeneratorNewProjectWizards

GitOrigin-RevId: 31a1877126f2eeca23057de38ff9329ce0cae72a
This commit is contained in:
Dmitry Avdeev
2024-06-21 17:35:32 +02:00
committed by intellij-monorepo-bot
parent 94bdd1a37f
commit 2a83b6d891
5 changed files with 15 additions and 1 deletions

View File

@@ -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) {

View File

@@ -45,5 +45,6 @@
<extensions defaultExtensionNs="com.intellij">
<moduleType id="JAVA_MODULE" classpathProvider="true" implementationClass="com.intellij.openapi.module.JavaModuleType"/>
<moduleType id="GENERAL_MODULE" implementationClass="com.intellij.ide.projectWizard.GeneralModuleTypeForIdea"/>
<newProjectWizard.generator implementation="com.intellij.ide.wizard.language.EmptyProjectGeneratorNewProjectWizard"/>
</extensions>
</idea-plugin>

View File

@@ -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

View File

@@ -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<GeneratorNewProjectWizard>("com.intellij.newProjectWizard.generator")
}
/**
* The unique identifier to distinguish this generator from others in the new project wizard.
*/

View File

@@ -474,6 +474,8 @@
<extensionPoint name="newProjectWizard.language" interface="com.intellij.ide.wizard.LanguageNewProjectWizard" dynamic="true"/>
<extensionPoint name="newProjectWizard.languageGenerator" interface="com.intellij.ide.wizard.language.LanguageGeneratorNewProjectWizard" dynamic="true"/>
<extensionPoint name="newProjectWizard.generator" interface="com.intellij.ide.wizard.GeneratorNewProjectWizard" dynamic="true"/>
<extensionPoint name="newProject.onboarding.tips" interface="com.intellij.ide.wizard.NewProjectOnboardingTips" dynamic="true"/>
<extensionPoint name="projectOriginInfoProvider" interface="com.intellij.ide.impl.ProjectOriginInfoProvider" dynamic="true"/>