diff --git a/java/idea-ui/src/com/intellij/ide/projectWizard/generators/AssetsJavaNewProjectWizardStep.kt b/java/idea-ui/src/com/intellij/ide/projectWizard/generators/AssetsJavaNewProjectWizardStep.kt index 2fb454219205..b655f07537c2 100644 --- a/java/idea-ui/src/com/intellij/ide/projectWizard/generators/AssetsJavaNewProjectWizardStep.kt +++ b/java/idea-ui/src/com/intellij/ide/projectWizard/generators/AssetsJavaNewProjectWizardStep.kt @@ -10,6 +10,7 @@ import com.intellij.openapi.keymap.KeymapTextContext import com.intellij.openapi.project.Project import com.intellij.openapi.util.SystemInfo import org.jetbrains.annotations.ApiStatus +import org.jetbrains.annotations.ApiStatus.ScheduledForRemoval import java.util.* @ApiStatus.Experimental @@ -61,8 +62,12 @@ abstract class AssetsJavaNewProjectWizardStep(parent: NewProjectWizardStep) : As addFilesToOpen(sourcePath) } - fun prepareTipsInEditor(project: Project) { - prepareTipsInEditor(project, "SampleCode") { charSequence -> + @ScheduledForRemoval + @Deprecated("Use prepareOnboardingTips and it should be called before wizard project setup") + fun prepareTipsInEditor(project: Project) { } + + fun prepareOnboardingTips(project: Project) { + prepareOnboardingTips(project, "SampleCode") { charSequence -> charSequence.indexOf("System.out.println").takeIf { it >= 0 } } } diff --git a/java/idea-ui/src/com/intellij/ide/projectWizard/generators/AssetsOnboardingTipsProjectWizardStep.kt b/java/idea-ui/src/com/intellij/ide/projectWizard/generators/AssetsOnboardingTipsProjectWizardStep.kt index 31cb39fa22c6..db66e5e0635e 100644 --- a/java/idea-ui/src/com/intellij/ide/projectWizard/generators/AssetsOnboardingTipsProjectWizardStep.kt +++ b/java/idea-ui/src/com/intellij/ide/projectWizard/generators/AssetsOnboardingTipsProjectWizardStep.kt @@ -18,7 +18,7 @@ abstract class AssetsOnboardingTipsProjectWizardStep(parent: NewProjectWizardSte protected fun shouldRenderOnboardingTips(): Boolean = Registry.`is`("doc.onboarding.tips.render") - protected fun prepareTipsInEditor(project: Project, templateWithoutTips: String, breakpointSelector: (CharSequence) -> Int?) = whenProjectCreated(project) { + protected fun prepareOnboardingTips(project: Project, templateWithoutTips: String, breakpointSelector: (CharSequence) -> Int?) = whenProjectCreated(project) { val templateManager = FileTemplateManager.getDefaultInstance() val properties = getTemplateProperties() val defaultProperties = templateManager.defaultProperties diff --git a/java/idea-ui/src/com/intellij/ide/projectWizard/generators/IntelliJJavaNewProjectWizard.kt b/java/idea-ui/src/com/intellij/ide/projectWizard/generators/IntelliJJavaNewProjectWizard.kt index cf67ee71385d..57f6e5f20b56 100644 --- a/java/idea-ui/src/com/intellij/ide/projectWizard/generators/IntelliJJavaNewProjectWizard.kt +++ b/java/idea-ui/src/com/intellij/ide/projectWizard/generators/IntelliJJavaNewProjectWizard.kt @@ -85,10 +85,10 @@ class IntelliJJavaNewProjectWizard : BuildSystemJavaNewProjectWizard { } override fun setupProject(project: Project) { - super.setupProject(project) if (parent.generateOnboardingTips) { - prepareTipsInEditor(project) + prepareOnboardingTips(project) } + super.setupProject(project) } } } \ No newline at end of file diff --git a/plugins/gradle/java/src/service/project/wizard/GradleJavaNewProjectWizard.kt b/plugins/gradle/java/src/service/project/wizard/GradleJavaNewProjectWizard.kt index 7239bae23d95..c26d511b87f1 100644 --- a/plugins/gradle/java/src/service/project/wizard/GradleJavaNewProjectWizard.kt +++ b/plugins/gradle/java/src/service/project/wizard/GradleJavaNewProjectWizard.kt @@ -4,16 +4,21 @@ package org.jetbrains.plugins.gradle.service.project.wizard import com.intellij.ide.projectWizard.NewProjectWizardCollector.Base.logAddSampleCodeChanged import com.intellij.ide.projectWizard.NewProjectWizardCollector.Base.logAddSampleOnboardingTipsChangedEvent import com.intellij.ide.projectWizard.NewProjectWizardConstants.BuildSystem.GRADLE -import com.intellij.ide.projectWizard.generators.* +import com.intellij.ide.projectWizard.generators.AssetsJavaNewProjectWizardStep import com.intellij.ide.projectWizard.generators.AssetsJavaNewProjectWizardStep.Companion.proposeToGenerateOnboardingTipsByDefault +import com.intellij.ide.projectWizard.generators.BuildSystemJavaNewProjectWizard +import com.intellij.ide.projectWizard.generators.BuildSystemJavaNewProjectWizardData +import com.intellij.ide.projectWizard.generators.JavaNewProjectWizard import com.intellij.ide.starters.local.StandardAssetsProvider +import com.intellij.ide.wizard.NewProjectWizardChainStep.Companion.nextStep import com.intellij.ide.wizard.NewProjectWizardStep import com.intellij.ide.wizard.NewProjectWizardStep.Companion.ADD_SAMPLE_CODE_PROPERTY_NAME -import com.intellij.ide.wizard.NewProjectWizardChainStep.Companion.nextStep import com.intellij.openapi.observable.util.bindBooleanStorage import com.intellij.openapi.project.Project import com.intellij.ui.UIBundle -import com.intellij.ui.dsl.builder.* +import com.intellij.ui.dsl.builder.Panel +import com.intellij.ui.dsl.builder.bindSelected +import com.intellij.ui.dsl.builder.whenStateChangedFromUi internal class GradleJavaNewProjectWizard : BuildSystemJavaNewProjectWizard { @@ -96,10 +101,10 @@ internal class GradleJavaNewProjectWizard : BuildSystemJavaNewProjectWizard { } override fun setupProject(project: Project) { - super.setupProject(project) if (parent.generateOnboardingTips) { - prepareTipsInEditor(project) + prepareOnboardingTips(project) } + super.setupProject(project) } } } \ No newline at end of file diff --git a/plugins/kotlin/project-wizard/core/src/org/jetbrains/kotlin/tools/projectWizard/wizard/AssetsKotlinNewProjectWizardStep.kt b/plugins/kotlin/project-wizard/core/src/org/jetbrains/kotlin/tools/projectWizard/wizard/AssetsKotlinNewProjectWizardStep.kt index b3bdb2a9102a..ec5c0bd0b3b3 100644 --- a/plugins/kotlin/project-wizard/core/src/org/jetbrains/kotlin/tools/projectWizard/wizard/AssetsKotlinNewProjectWizardStep.kt +++ b/plugins/kotlin/project-wizard/core/src/org/jetbrains/kotlin/tools/projectWizard/wizard/AssetsKotlinNewProjectWizardStep.kt @@ -59,8 +59,8 @@ abstract class AssetsKotlinNewProjectWizardStep(parent: NewProjectWizardStep) : addFilesToOpen(sourcePath) } - fun prepareTipsInEditor(project: Project) { - prepareTipsInEditor(project, "KotlinSampleCode") { charsSequence -> + fun prepareOnboardingTips(project: Project) { + prepareOnboardingTips(project, "KotlinSampleCode") { charsSequence -> charsSequence.indexOf("println(\"i").takeIf { it >= 0 } } } diff --git a/plugins/kotlin/project-wizard/gradle/src/org/jetbrains/kotlin/tools/projectWizard/gradle/GradleKotlinNewProjectWizard.kt b/plugins/kotlin/project-wizard/gradle/src/org/jetbrains/kotlin/tools/projectWizard/gradle/GradleKotlinNewProjectWizard.kt index b73c388f599f..08c6b91c9919 100644 --- a/plugins/kotlin/project-wizard/gradle/src/org/jetbrains/kotlin/tools/projectWizard/gradle/GradleKotlinNewProjectWizard.kt +++ b/plugins/kotlin/project-wizard/gradle/src/org/jetbrains/kotlin/tools/projectWizard/gradle/GradleKotlinNewProjectWizard.kt @@ -288,10 +288,10 @@ internal class GradleKotlinNewProjectWizard : BuildSystemKotlinNewProjectWizard } override fun setupProject(project: Project) { - super.setupProject(project) if (shouldAddOnboardingTips()) { - prepareTipsInEditor(project) + prepareOnboardingTips(project) } + super.setupProject(project) } } } \ No newline at end of file diff --git a/plugins/kotlin/project-wizard/idea/src/org/jetbrains/kotlin/tools/projectWizard/IntelliJKotlinNewProjectWizard.kt b/plugins/kotlin/project-wizard/idea/src/org/jetbrains/kotlin/tools/projectWizard/IntelliJKotlinNewProjectWizard.kt index f4f384b8fce3..bb5bd1a6b078 100644 --- a/plugins/kotlin/project-wizard/idea/src/org/jetbrains/kotlin/tools/projectWizard/IntelliJKotlinNewProjectWizard.kt +++ b/plugins/kotlin/project-wizard/idea/src/org/jetbrains/kotlin/tools/projectWizard/IntelliJKotlinNewProjectWizard.kt @@ -91,10 +91,10 @@ internal class IntelliJKotlinNewProjectWizard : BuildSystemKotlinNewProjectWizar } override fun setupProject(project: Project) { - super.setupProject(project) if (shouldAddOnboardingTips()) { - prepareTipsInEditor(project) + prepareOnboardingTips(project) } + super.setupProject(project) } } } \ No newline at end of file diff --git a/plugins/maven/src/main/java/org/jetbrains/idea/maven/wizards/MavenJavaNewProjectWizard.kt b/plugins/maven/src/main/java/org/jetbrains/idea/maven/wizards/MavenJavaNewProjectWizard.kt index c676c7617063..530d6b75094d 100644 --- a/plugins/maven/src/main/java/org/jetbrains/idea/maven/wizards/MavenJavaNewProjectWizard.kt +++ b/plugins/maven/src/main/java/org/jetbrains/idea/maven/wizards/MavenJavaNewProjectWizard.kt @@ -94,10 +94,10 @@ class MavenJavaNewProjectWizard : BuildSystemJavaNewProjectWizard { } override fun setupProject(project: Project) { - super.setupProject(project) if (parent.generateOnboardingTips) { - prepareTipsInEditor(project) + prepareOnboardingTips(project) } + super.setupProject(project) } } } \ No newline at end of file