diff --git a/idea/idea-jvm/src/org/jetbrains/kotlin/idea/configuration/ConfigureKotlinInProjectUtils.kt b/idea/idea-jvm/src/org/jetbrains/kotlin/idea/configuration/ConfigureKotlinInProjectUtils.kt index 14b9c179158..c68d632d5fd 100644 --- a/idea/idea-jvm/src/org/jetbrains/kotlin/idea/configuration/ConfigureKotlinInProjectUtils.kt +++ b/idea/idea-jvm/src/org/jetbrains/kotlin/idea/configuration/ConfigureKotlinInProjectUtils.kt @@ -10,6 +10,7 @@ import com.intellij.openapi.command.WriteCommandAction import com.intellij.openapi.diagnostic.Logger import com.intellij.openapi.extensions.Extensions import com.intellij.openapi.module.Module +import com.intellij.openapi.project.DumbService import com.intellij.openapi.project.Project import com.intellij.openapi.projectRoots.JavaSdkVersion import com.intellij.openapi.roots.DependencyScope @@ -27,6 +28,7 @@ import org.jetbrains.annotations.CalledInBackground import org.jetbrains.kotlin.builtins.StandardNames import org.jetbrains.kotlin.idea.KotlinFileType import org.jetbrains.kotlin.idea.KotlinJvmBundle +import org.jetbrains.kotlin.idea.actions.internal.refactoringTesting.readAction import org.jetbrains.kotlin.idea.core.util.getKotlinJvmRuntimeMarkerClass import org.jetbrains.kotlin.idea.framework.JSLibraryKind import org.jetbrains.kotlin.idea.framework.effectiveKind @@ -162,10 +164,19 @@ fun getConfigurableModulesWithKotlinFiles(project: Project): List Unit = { + val moduleGroup = module.toModuleGroup() + if (isNotConfiguredNotificationRequired(moduleGroup)) { + ConfigureKotlinNotificationManager.notify(module.project) + } + } - ConfigureKotlinNotificationManager.notify(module.project) + val dumbService = DumbService.getInstance(module.project) + if (dumbService.isDumb) { + dumbService.smartInvokeLater { action() } + } else { + action() + } } fun isNotConfiguredNotificationRequired(moduleGroup: ModuleSourceRootGroup): Boolean {