This commit is contained in:
Deleted user 2026-05-27 11:36:22 +08:00 committed by GitHub
commit 961d84124e
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
3 changed files with 7 additions and 6 deletions

View file

@ -97,8 +97,8 @@ export class TerminalProcess extends BaseTerminalProcess {
// Execute command
const defaultWindowsShellProfile = vscode.workspace
.getConfiguration("terminal.integrated.defaultProfile")
.get("windows")
.getConfiguration("terminal.integrated")
.get<string>("defaultProfile.windows")
const isPowerShell =
process.platform === "win32" &&

View file

@ -139,11 +139,11 @@ describe("Shell Detection Tests", () => {
expect(getShell()).toBe("C:\\Program Files\\PowerShell\\7\\pwsh.exe")
})
it("falls back to legacy PowerShell if profile includes 'powershell' but no path/source", () => {
it("falls back to PowerShell 7 if profile includes 'powershell' but no path/source", () => {
mockVsCodeConfig("windows", "PowerShell", {
PowerShell: {},
})
expect(getShell()).toBe("C:\\Windows\\System32\\WindowsPowerShell\\v1.0\\powershell.exe")
expect(getShell()).toBe("C:\\Program Files\\PowerShell\\7\\pwsh.exe")
})
it("uses WSL bash when profile indicates WSL source", () => {

View file

@ -205,8 +205,9 @@ function getWindowsShellFromVSCode(): string | null {
// If the profile is sourced from PowerShell, assume the newest
return SHELL_PATHS.POWERSHELL_7
}
// Otherwise, assume legacy Windows PowerShell
return SHELL_PATHS.POWERSHELL_LEGACY
// Otherwise, default to PowerShell 7 (modern) since VS Code auto-discovers
// PS7 profiles without setting an explicit path or source property
return SHELL_PATHS.POWERSHELL_7
}
// If there's a specific path, return that immediately