必须手动配置terminal.integrated.defaultProfile.windows,且值须与VSCode终端选择菜单中显示的原样字符串(如“PowerShell (pwsh)”)完全一致,否则静默回退到cmd;需通过where pwsh确认PATH中存在、用命令面板选择并配置profile、关闭所有终端后新建,同时可添加-executionpolicy bypass参数解决执行策略报错。

必须手动配置 terminal.integrated.defaultProfile.windows,且值必须和 VSCode 终端选择菜单里显示的原样字符串完全一致,否则会静默回退到 cmd.exe。
确认 PowerShell 7 是否被 VSCode 正确识别
VSCode 不会自动发现你装的 PowerShell 7——它只认 PATH 中能被 where pwsh 找到的可执行文件,且名字来自其注册 profile 的显示名。
- 打开任意 CMD 窗口,运行
where pwsh;有输出(如C:\Program Files\PowerShell\7\pwsh.exe)才说明已正确安装并加入 PATH - 在 VSCode 中按
Ctrl + Shift + P,输入Terminal: Select Default Profile,弹出列表里显示的是什么,就用什么——常见为PowerShell (pwsh),不是pwsh、PowerShell 7或PowerShell - 如果列表里没有
PowerShell (pwsh),重启 VSCode 再试一次;仍无则说明 VSCode 没扫描到pwsh.exe,需检查安装路径和 PATH
修改 settings.json 配置 defaultProfile
UI 下拉菜单选中后看似生效,但容易被工作区或远程设置覆盖。直接编辑 settings.json 是最稳的方式。
- 按
Ctrl + ,打开设置 → 右上角点击{}图标进入 JSON 编辑模式 - 添加或修改这一行(注意拼写、大小写、空格、括号):
"terminal.integrated.defaultProfile.windows": "PowerShell (pwsh)" - 键名必须完整:漏掉
.windows后缀、写成.shell.windows(已弃用)或.defaultprofile(少个P)都会静默失效 - 保存后,**必须关掉所有已打开的终端 tab**(点右上角垃圾桶图标),再按
Ctrl + `新建——VSCode 不会热切换已有终端的 shell
遇到 ExecutionPolicy 错误怎么办
终端能打开、标签页显示 PowerShell (pwsh),但一运行脚本就报 The file cannot be loaded because running scripts is disabled?这不是配置错了,是 PowerShell 自身策略限制。
- 不要全局改系统策略(如
Set-ExecutionPolicy RemoteSigned -Scope LocalMachine),风险高且不必要 - 推荐做法:在
settings.json中为该 profile 显式加启动参数
先用命令面板运行Terminal: Select Default Profile→ 选中PowerShell (pwsh)→ 点右下角齿轮图标 →Configure Terminal Settings,它会自动生成一个profiles.windows块,然后在里面补上:"args": ["-executionpolicy", "bypass", "-noexit"] - 这样每次新开终端都自动绕过策略,不影响系统安全边界,也不污染全局环境
真正卡住人的地方往往不是“怎么设”,而是 profile 名字和菜单显示不一致、工作区 .vscode/settings.json 覆盖了用户设置、或者旧终端没关干净——这三个点错一个,配置就白改。


















