vs code 启动时默认用 powershell 需在设置中搜索“terminal integrated default profile”并选择 powershell(非旧版),确保已安装powershell 7+或5.1;若无效,检查是否被工作区/远程设置覆盖,或路径配置错误。

怎么让 VS Code 启动时默认用 PowerShell 而不是 cmd
VS Code 默认终端取决于系统和安装配置,Windows 上常是 cmd.exe,但 PowerShell 更实用——支持现代命令、管道、对象操作。改法很简单,但必须改对位置,否则无效。
- 打开设置(
Ctrl+,),搜terminal integrated default profile - 在下拉菜单里选
PowerShell(注意不是PowerShell (x64)或Windows PowerShell,那是旧版) - 如果列表里没有
PowerShell,说明 VS Code 没检测到——确认已安装 PowerShell 7+(推荐)或 Windows 自带的 PowerShell 5.1,并重启 VS Code - 该设置会写入
settings.json,对应字段是"terminal.integrated.defaultProfile.windows"
为什么改了设置还是打开 cmd?
常见原因是用户级设置被工作区或远程设置覆盖,或者路径没配对。VS Code 终端 profile 的优先级是:远程 > 工作区 > 用户。哪怕你全局设了 PowerShell,只要当前文件夹里有 .vscode/settings.json 并含 "terminal.integrated.defaultProfile.windows",它就会生效。
- 检查右下角终端面板左上角显示的 profile 名字,点它可临时切换,也提示当前生效的是哪一级设置
- 按
Ctrl+Shift+P输入Terminal: Select Default Profile,选中后会明确告诉你“已保存到 [用户/工作区]” - 如果用 WSL,
defaultProfile.linux才管用,defaultProfile.windows完全不生效 - 某些公司策略或策略组(GPO)会锁死终端配置,此时设置项变灰,无法修改
bash / zsh 在 Windows 上怎么设为默认(WSL 场景)
如果你启用了 WSL,想默认开 bash 或 zsh,不能只靠 defaultProfile.windows——它只认 Windows 原生命令行。得靠 profile 的完整定义。
- 在
settings.json中添加"terminal.integrated.profiles.windows"对象,手动注册一个 WSL 启动项 - 例如:
"wsl": { "path": "wsl.exe", "args": ["-d", "Ubuntu-22.04"], "icon": "terminal-linux" } - 再把
"terminal.integrated.defaultProfile.windows"设为"wsl" - 注意
args中的发行版名要和wsl -l -v输出一致,大小写、空格、连字符都不能错 - 别用
bash.exe(旧版子系统兼容层),它不支持 ANSI 颜色和很多交互特性
终端启动慢、卡住、报错找不到 shell 怎么办
改完默认终端后出现启动延迟或 The terminal process failed to launch,大概率是路径或参数错了,尤其是加了自定义 args 或用了非标准安装路径的 PowerShell / bash。
- 先删掉所有自定义
profiles,只留默认选项,看是否恢复——确认是不是 profile 定义本身的问题 - 检查
path字段:PowerShell 7 路径通常是"C:\Program Files\PowerShell\7\pwsh.exe";旧版是"C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe" - 如果用了双引号包裹路径(比如含空格),VS Code 会报错——
path值本身不需要引号,JSON 字符串才需要 - 杀掉所有
Code Helper进程再重启 VS Code,有时旧进程缓存了错误的 shell 句柄











