Fix RIDER-126179: Introduce TerminalMode to manage terminal and output redirection behavior for run configurations

Replace useExternalConsole and PtyMode with TerminalMode

- Updated usages of `useExternalConsole` to use the new `terminalMode` enumeration.
- Refactored various configurations and execution paths to adopt `TerminalMode` and ensure compatibility with legacy code.
- Added deprecation annotations and convenience methods for backward compatibility.

Migrate dotnetwatch and other run configurations

Refactor parameter handling in StartGodotEditorAction

- Replaced custom `Parameters` class with `RiderConfigurationParametersAware` interface.
- Simplified logic for retrieving and handling run configuration parameters.
- Removed redundant imports and unused code.

Merge-request: IJ-MR-165727
Merged-by: Sergey Vardanyan <sergey.vardanyan@jetbrains.com>

GitOrigin-RevId: b9d1bbec03625010153e20d809ac5e24edc73e2e
This commit is contained in:
Sergey Vardanyan
2025-07-14 18:48:27 +00:00
committed by intellij-monorepo-bot
parent f39a55ef36
commit 2dbbaf0f0c
@@ -15,7 +15,7 @@ import org.jetbrains.annotations.ApiStatus
object RunConfigurationOptionUsagesCollector : CounterUsagesCollector() {
override fun getGroup() = GROUP
val GROUP = EventLogGroup("run.configuration.ui.interactions", 21)
val GROUP = EventLogGroup("run.configuration.ui.interactions", 22)
val optionId = EventFields.String("option_id", listOf("before.launch.editSettings", "before.launch.openToolWindow", "beforeRunTasks",
"commandLineParameters", "coverage", "doNotBuildBeforeRun", "environmentVariables",
@@ -50,7 +50,7 @@ object RunConfigurationOptionUsagesCollector : CounterUsagesCollector() {
"Use_Hot_Reload", "Roslyn_Target_Project", "Extra_mlaunch_Parameters",
"Project_Configuration", "Launch_profile_group", "Platform_Type", // Rider
"external.system.vm.parameters.fragment", "Runtime", "AutoAttachChildren",
"DotnetWatch_AutoAttachChildren", "Redirect_Input", "MixedModeDebug" // Rider
"DotnetWatch_AutoAttachChildren", "Redirect_Input", "MixedModeDebug", "Terminal_Mode" // Rider
)) // maven
private val projectSettingsAvailableField = EventFields.Boolean("projectSettingsAvailable")
private val useProjectSettingsField = EventFields.Boolean("useProjectSettings")