如何设置VSCode使默认终端自动切换至PowerShell?
- 内容介绍
- 文章标签
- 相关推荐
本文共计811个文字,预计阅读时间需要4分钟。
VSCode 默认终端不会自动设置为 PowerShell,如果你系统已安装 PowerShell,需要手动指定。确保终端名称与 VSCode 内部 profile 中注册的名称完全一致,否则它将退回到 cmd.exe。
怎么确认当前默认终端是不是 PowerShell
按 Ctrl + ` 打开集成终端,看顶部标签页名称。如果显示的是 PowerShell、PowerShell (pwsh) 或 PowerShell (x64),说明已生效;如果显示 Command Prompt 或空白,说明配置没起作用。更准的方法是打开设置(Ctrl + ,),搜索 terminal integrated default profile,右侧值就是当前生效的配置项。
改 settings.json 是最稳的方式
UI 下拉菜单选中后看似生效,但容易被工作区或远程设置覆盖。直接编辑 settings.json 更可靠:
- 按
Ctrl + ,→ 右上角点{}图标打开 JSON 设置 - 在花括号内添加(或修改)这一行:
"terminal.integrated.defaultProfile.windows": "PowerShell" - 保存后,**必须关掉所有已打开的终端 tab**,再按
Ctrl + `新建一个 - 注意:键名必须是
terminal.integrated.defaultProfile.windows,不能漏掉.windows后缀,也不能写成.shell.windows(已弃用)
为什么写了还是启动 cmd
常见原因不是配置错,而是 profile 名字不匹配或路径不可达:
- VSCode 列表里显示的是
PowerShell (pwsh),但你在 JSON 里写了"PowerShell"→ 必须严格一致 - 系统没装 PowerShell 7+,只装了旧版 Windows 自带的
powershell.exe,但 VSCode 检测不到 → 运行where powershell确认是否在PATH中 - 工作区目录下有
.vscode/settings.json,里面也定义了terminal.integrated.defaultProfile.windows→ 它会覆盖用户级设置 - 终端已存在实例 → VSCode 不会动态切换已有终端的 shell,只对新建 terminal 生效
PowerShell 启动报执行策略错误怎么办
终端能打开,但一运行脚本就提示 ExecutionPolicy 被阻止,这不是配置问题,是安全策略限制:
- 不要全局改系统策略,只需让 VSCode 终端绕过:在
settings.json里加参数配置(需配合 profile 定义) - 推荐做法:先用命令面板运行
Terminal: Select Default Profile,选中PowerShell (pwsh)后点击右下角齿轮图标,选择「Configure Terminal Settings」,然后在生成的 profile 配置块里加:"args": ["-executionpolicy", "bypass", "-noexit"] - 这样每次新开终端都会自动绕过策略,不影响系统安全边界
真正卡住人的地方往往不是“怎么设”,而是 profile 名字拼写、平台后缀遗漏、或已有终端没关干净——这些细节不显眼,但直接决定配置是否落地。
本文共计811个文字,预计阅读时间需要4分钟。
VSCode 默认终端不会自动设置为 PowerShell,如果你系统已安装 PowerShell,需要手动指定。确保终端名称与 VSCode 内部 profile 中注册的名称完全一致,否则它将退回到 cmd.exe。
怎么确认当前默认终端是不是 PowerShell
按 Ctrl + ` 打开集成终端,看顶部标签页名称。如果显示的是 PowerShell、PowerShell (pwsh) 或 PowerShell (x64),说明已生效;如果显示 Command Prompt 或空白,说明配置没起作用。更准的方法是打开设置(Ctrl + ,),搜索 terminal integrated default profile,右侧值就是当前生效的配置项。
改 settings.json 是最稳的方式
UI 下拉菜单选中后看似生效,但容易被工作区或远程设置覆盖。直接编辑 settings.json 更可靠:
- 按
Ctrl + ,→ 右上角点{}图标打开 JSON 设置 - 在花括号内添加(或修改)这一行:
"terminal.integrated.defaultProfile.windows": "PowerShell" - 保存后,**必须关掉所有已打开的终端 tab**,再按
Ctrl + `新建一个 - 注意:键名必须是
terminal.integrated.defaultProfile.windows,不能漏掉.windows后缀,也不能写成.shell.windows(已弃用)
为什么写了还是启动 cmd
常见原因不是配置错,而是 profile 名字不匹配或路径不可达:
- VSCode 列表里显示的是
PowerShell (pwsh),但你在 JSON 里写了"PowerShell"→ 必须严格一致 - 系统没装 PowerShell 7+,只装了旧版 Windows 自带的
powershell.exe,但 VSCode 检测不到 → 运行where powershell确认是否在PATH中 - 工作区目录下有
.vscode/settings.json,里面也定义了terminal.integrated.defaultProfile.windows→ 它会覆盖用户级设置 - 终端已存在实例 → VSCode 不会动态切换已有终端的 shell,只对新建 terminal 生效
PowerShell 启动报执行策略错误怎么办
终端能打开,但一运行脚本就提示 ExecutionPolicy 被阻止,这不是配置问题,是安全策略限制:
- 不要全局改系统策略,只需让 VSCode 终端绕过:在
settings.json里加参数配置(需配合 profile 定义) - 推荐做法:先用命令面板运行
Terminal: Select Default Profile,选中PowerShell (pwsh)后点击右下角齿轮图标,选择「Configure Terminal Settings」,然后在生成的 profile 配置块里加:"args": ["-executionpolicy", "bypass", "-noexit"] - 这样每次新开终端都会自动绕过策略,不影响系统安全边界
真正卡住人的地方往往不是“怎么设”,而是 profile 名字拼写、平台后缀遗漏、或已有终端没关干净——这些细节不显眼,但直接决定配置是否落地。

