diff --git a/src/main/kotlin/cc/unitmesh/devti/provider/RunService.kt b/src/main/kotlin/cc/unitmesh/devti/provider/RunService.kt index 799413d96b..c48b1df9ec 100644 --- a/src/main/kotlin/cc/unitmesh/devti/provider/RunService.kt +++ b/src/main/kotlin/cc/unitmesh/devti/provider/RunService.kt @@ -49,7 +49,14 @@ interface RunService { * @param virtualFile The virtual file for which the configuration should be created. * @return The created or found run configuration settings, or `null` if no suitable configuration could be */ - fun createRunSettings(project: Project, virtualFile: VirtualFile): RunnerAndConfigurationSettings? { + fun createRunSettings(project: Project, virtualFile: VirtualFile, testElement: PsiElement?): RunnerAndConfigurationSettings? { + if (testElement != null) { + val settings = createDefaultTestConfigurations(project, testElement) + if (settings != null) { + return settings + } + } + val runManager = RunManager.getInstance(project) var testConfig = runManager.allConfigurationsList.firstOrNull { val runConfigureClass = runConfigurationClass(project) diff --git a/src/main/kotlin/cc/unitmesh/devti/runner/RunServiceTask.kt b/src/main/kotlin/cc/unitmesh/devti/runner/RunServiceTask.kt index c39d4af7d4..c5f6fb8a10 100644 --- a/src/main/kotlin/cc/unitmesh/devti/runner/RunServiceTask.kt +++ b/src/main/kotlin/cc/unitmesh/devti/runner/RunServiceTask.kt @@ -4,7 +4,6 @@ package cc.unitmesh.devti.runner import cc.unitmesh.devti.AutoDevBundle import cc.unitmesh.devti.provider.RunService import com.intellij.execution.* -import com.intellij.execution.actions.ConfigurationContext import com.intellij.execution.executors.DefaultRunExecutor import com.intellij.execution.impl.ExecutionManagerImpl import com.intellij.execution.process.* @@ -54,18 +53,10 @@ class RunServiceTask( * @return The check result of the executed run configuration, or `null` if no run configuration could be created. */ fun doRun(indicator: ProgressIndicator?): RunnerResult? { - var settings: RunnerAndConfigurationSettings? = runService.createRunSettings(project, virtualFile) + val settings: RunnerAndConfigurationSettings? = runService.createRunSettings(project, virtualFile, testElement) if (settings == null) { - if (testElement == null) { - logger().error("No run configuration found for file: ${virtualFile.path}") - return null - } - settings = runService.createDefaultTestConfigurations(project, testElement) - - if (settings == null) { - logger().error("No run configuration found for element: $testElement") - return null - } + logger().error("No run configuration found for file: ${virtualFile.path}") + return null } settings.isActivateToolWindowBeforeRun = false