From 9dd023c4edea98c3b203f249a35a0ee1fbfc97d5 Mon Sep 17 00:00:00 2001 From: Dmitry Avdeev Date: Thu, 16 May 2024 21:09:29 +0200 Subject: [PATCH] IDEA-353360 Multiple Projects In The Same Workspace: Maven tool window doesn't appear on workspace creating GitOrigin-RevId: 1006b3c498705f3b48377350dc350e6194868384 --- .../idea/maven/workspace/MavenSubprojectHandler.kt | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/plugins/maven/src/main/java/org/jetbrains/idea/maven/workspace/MavenSubprojectHandler.kt b/plugins/maven/src/main/java/org/jetbrains/idea/maven/workspace/MavenSubprojectHandler.kt index cfaf74a4d090..8e3294b40b70 100644 --- a/plugins/maven/src/main/java/org/jetbrains/idea/maven/workspace/MavenSubprojectHandler.kt +++ b/plugins/maven/src/main/java/org/jetbrains/idea/maven/workspace/MavenSubprojectHandler.kt @@ -7,10 +7,13 @@ import com.intellij.ide.workspace.SubprojectHandler import com.intellij.openapi.module.Module import com.intellij.openapi.project.Project import com.intellij.openapi.project.guessProjectDir +import com.intellij.openapi.startup.StartupManager import com.intellij.openapi.vfs.VirtualFile import icons.MavenIcons +import kotlinx.coroutines.launch import org.jetbrains.idea.maven.project.MavenProject import org.jetbrains.idea.maven.project.MavenProjectsManager +import org.jetbrains.idea.maven.utils.MavenCoroutineScopeProvider import org.jetbrains.idea.maven.utils.MavenUtil import org.jetbrains.idea.maven.wizards.MavenOpenProjectProvider import javax.swing.Icon @@ -50,7 +53,11 @@ private class MavenImportedProjectSettings(project: Project) : ImportedProjectSe override suspend fun applyTo(workspace: Project) { val openProjectProvider = MavenOpenProjectProvider() if (openProjectProvider.canOpenProject(projectDir!!)) { - openProjectProvider.forceLinkToExistingProjectAsync(projectDir, workspace) + StartupManager.getInstance(workspace).runAfterOpened { + MavenCoroutineScopeProvider.getCoroutineScope(workspace).launch { + openProjectProvider.forceLinkToExistingProjectAsync(projectDir, workspace) + } + } } } }