Skip to content

Commit 68c8899

Browse files
committed
feat #29: add support for Windows Terminal in 'Open in Terminal' command
1 parent 7fee528 commit 68c8899

3 files changed

Lines changed: 22 additions & 4 deletions

File tree

WorkspaceLauncherForVSCode/Classes/SettingsManager.cs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -76,6 +76,7 @@ public class SettingsManager : JsonSettingsManager
7676
[
7777
new ChoiceSetSetting.Choice("PowerShell", nameof(TerminalType.PowerShell)),
7878
new ChoiceSetSetting.Choice("Command Prompt", nameof(TerminalType.Cmd)),
79+
new ChoiceSetSetting.Choice("Windows Terminal (Default Profile)", nameof(TerminalType.WindowsTerminal)),
7980
];
8081

8182
private readonly ToggleSetting _enableLogging = new(
@@ -236,7 +237,7 @@ public TerminalType TerminalType
236237
{
237238
return result;
238239
}
239-
return TerminalType.PowerShell;
240+
return TerminalType.WindowsTerminal;
240241
}
241242
}
242243

WorkspaceLauncherForVSCode/Commands/OpenInTerminalCommand.cs

Lines changed: 18 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -57,8 +57,24 @@ public override CommandResult Invoke()
5757
return pathNotFoundResult;
5858
}
5959

60-
var terminal = _settingsManager.TerminalType == TerminalType.PowerShell ? "powershell.exe" : "cmd.exe";
61-
ShellHelpers.OpenInShell(terminal, workingDir: directoryPath);
60+
string terminal;
61+
string? arguments = null;
62+
switch (_settingsManager.TerminalType)
63+
{
64+
case TerminalType.Cmd:
65+
terminal = "cmd.exe";
66+
break;
67+
case TerminalType.WindowsTerminal:
68+
terminal = "wt.exe";
69+
arguments = $"-d \"{directoryPath}\"";
70+
break;
71+
case TerminalType.PowerShell:
72+
default:
73+
terminal = "powershell.exe";
74+
break;
75+
}
76+
77+
ShellHelpers.OpenInShell(terminal, arguments: arguments, workingDir: directoryPath);
6278
}
6379

6480
return CommandResult.Dismiss();

WorkspaceLauncherForVSCode/Enums/TerminalType.cs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ namespace WorkspaceLauncherForVSCode.Enums
55
public enum TerminalType
66
{
77
Cmd,
8-
PowerShell
8+
PowerShell,
9+
WindowsTerminal
910
}
1011
}

0 commit comments

Comments
 (0)