fun reset()

in rider/src/main/kotlin/com/jetbrains/aspire/rider/run/host/AspireHostConfigurationViewModel.kt [235:302]


    fun reset(
        projectFilePath: String,
        projectTfm: String,
        launchProfileName: String,
        trackArguments: Boolean,
        arguments: String,
        trackWorkingDirectory: Boolean,
        workingDirectory: String,
        trackEnvs: Boolean,
        envs: Map<String, String>,
        usePodmanRuntime: Boolean,
        trackUrl: Boolean,
        trackBrowserLaunch: Boolean,
        dotNetStartBrowserParameters: DotNetStartBrowserParameters
    ) {
        isLoaded = false
        currentEditSessionLifetime = currentEditSessionLifetimeSource.next()

        this.trackArguments = trackArguments
        this.trackWorkingDirectory = trackWorkingDirectory
        this.trackEnvs = trackEnvs
        this.trackUrl = trackUrl
        this.trackBrowserLaunch = trackBrowserLaunch

        currentEditSessionLifetime.launch(Dispatchers.EDT + ModalityState.current().asContextElement()) {
            val projectList = runnableProjectsModel
                ?.projects
                ?.nextNotNullValue()
                ?.filter { it.kind == AspireRunnableProjectKinds.AspireHost }
                ?: return@launch

            usePodmanRuntimeFlagEditor.isSelected.set(usePodmanRuntime)

            if (projectFilePath.isEmpty() || projectList.none { it.projectFilePath == projectFilePath }) {
                dotNetBrowserSettingsEditor.settings.set(
                    BrowserSettings(
                        dotNetStartBrowserParameters.startAfterLaunch,
                        dotNetStartBrowserParameters.withJavaScriptDebugger,
                        dotNetStartBrowserParameters.browser
                    )
                )

                if (projectFilePath.isEmpty()) {
                    addFirstAspireProject(projectList)
                } else {
                    addFakeProject(projectList, projectFilePath)
                }
            } else {
                addSelectedAspireHostProject(
                    projectList,
                    projectFilePath,
                    projectTfm,
                    launchProfileName,
                    trackArguments,
                    arguments,
                    trackWorkingDirectory,
                    workingDirectory,
                    trackEnvs,
                    envs,
                    trackUrl,
                    trackBrowserLaunch,
                    dotNetStartBrowserParameters
                )
            }

            isLoaded = true
        }
    }