diff --git a/platform/lang-api/src/com/intellij/execution/RunManager.kt b/platform/lang-api/src/com/intellij/execution/RunManager.kt index f2cf474cf222..b75a74d519ac 100644 --- a/platform/lang-api/src/com/intellij/execution/RunManager.kt +++ b/platform/lang-api/src/com/intellij/execution/RunManager.kt @@ -135,7 +135,7 @@ abstract class RunManager { /** * Creates a configuration settings object based on a specified [RunConfiguration]. Note that you need to call - * [.addConfiguration] if you want the configuration to be persisted in the project. + * [addConfiguration] if you want the configuration to be persisted in the project. * @param runConfiguration the run configuration * @param factory the factory instance. */ diff --git a/platform/lang-impl/src/com/intellij/execution/impl/RunManagerImpl.kt b/platform/lang-impl/src/com/intellij/execution/impl/RunManagerImpl.kt index fbe1ae02fee9..012603389406 100644 --- a/platform/lang-impl/src/com/intellij/execution/impl/RunManagerImpl.kt +++ b/platform/lang-impl/src/com/intellij/execution/impl/RunManagerImpl.kt @@ -237,23 +237,22 @@ open class RunManagerImpl(internal val project: Project) : RunManagerEx(), Persi return lock.read { templateIdToConfiguration.get(key) } ?: lock.write { templateIdToConfiguration.getOrPut(key) { val template = createTemplateSettings(factory) - val configuration = template.configuration - (configuration as? UnknownRunConfiguration)?.let { - it.isDoNotStore = true - } - - configuration.beforeRunTasks = getHardcodedBeforeRunTasks(configuration) - workspaceSchemeManager.addScheme(template) - template } } } internal fun createTemplateSettings(factory: ConfigurationFactory): RunnerAndConfigurationSettingsImpl { - return RunnerAndConfigurationSettingsImpl(this, factory.createTemplateConfiguration(project, this), isTemplate = true, - singleton = factory.isConfigurationSingletonByDefault) + val configuration = factory.createTemplateConfiguration(project, this) + val template = RunnerAndConfigurationSettingsImpl(this, configuration, + isTemplate = true, + singleton = factory.isConfigurationSingletonByDefault) + if (configuration is UnknownRunConfiguration) { + configuration.isDoNotStore = true + } + configuration.beforeRunTasks = getHardcodedBeforeRunTasks(configuration) + return template } override fun addConfiguration(settings: RunnerAndConfigurationSettings) {