必须同时配置terminal.integrated.profiles.windows(指定bash.exe路径及--login -i参数)和terminal.integrated.defaultprofile.windows(设为“git bash”),并关闭所有终端后新建才能生效;推荐路径为c:\program files\git\bin\bash.exe,禁用git-bash.exe。

终端默认 shell 不是 Git Bash,怎么改?
VSCode 默认终端用的是系统 PowerShell(Windows)或 zsh(macOS),想切到 Git Bash,关键不是“安装”而是“告诉 VSCode 哪里能找到 git-bash.exe”。路径写错、没加参数、权限拦截,都会导致启动失败或闪退。
- 先确认 Git Bash 已安装,且能从 Windows 开始菜单正常打开——通常安装路径是
C:Program FilesGitinash.exe或C:Users{用户名}AppDataLocalProgramsGitinash.exe - VSCode 设置里搜
terminal.integrated.defaultProfile.windows(Windows 下),把它设为Git Bash;但前提是 VSCode 能识别该 profile,否则得手动注册 - 更稳妥的做法是直接编辑
settings.json,添加或修改以下字段:
{
"terminal.integrated.profiles.windows": {
"Git Bash": {
"path": "C:\Program Files\Git\bin\bash.exe",
"args": ["--login", "-i"]
}
},
"terminal.integrated.defaultProfile.windows": "Git Bash"
}
注意:path 中的反斜杠要双写(\),args 加 --login -i 才能加载 ~/.bashrc 和 Git 别名;漏掉会导致 ls 颜色失效、git 命令找不到等现象。
为什么选 bash.exe 而不是 sh.exe 或 git-bash.exe?
git-bash.exe 是带窗口外壳的 GUI 启动器,VSCode 终端进程不认它;sh.exe 缺少很多 Bash 特性(比如数组、[[ 条件判断),而 bash.exe 是完整实现,兼容性最好。
-
C:Program FilesGitinash.exe:推荐,功能全、路径稳定 -
C:Program FilesGitusrinash.exe:新版 Git for Windows 也提供,行为一致,可选 - 避免用
git-bash.exe—— 它会另起窗口,VSCode 只看到子进程退出,终端直接关闭
设置后终端仍报错“找不到指定的文件”或空白闪退
大概率是路径错误或权限问题。Git 安装路径含空格(如 Program Files)时,VSCode 有时解析失败;UAC 或杀毒软件也可能拦截 bash.exe 启动。
- 把 Git 安装到无空格路径,例如
C:Gitinash.exe,再更新settings.json中的path - 右键 VSCode 快捷方式 → “以管理员身份运行”,测试是否是权限拦截
- 临时关闭 Windows Defender 实时保护,看是否缓解——某些版本会误杀
bash.exe的子进程 - 在终端面板点右上角
+→ “Select Default Profile”,确认列表里真有Git Bash选项;没有说明 profile 注册失败,回看path是否拼写错误
Mac 或 Linux 用户需要这么设吗?
不需要。Git Bash 是 Windows 专用工具;macOS/Linux 原生支持 Bash/Zsh,VSCode 终端默认就可用 git 命令。如果你在 macOS 上装了 Git for Windows 模拟环境,那属于非常规场景,不建议混用。
路径和参数细节容易被忽略,尤其是 --login -i 和双反斜杠;设完别忘了重启 VSCode 终端面板(关掉所有终端 tab 再新开),否则缓存可能让旧配置继续生效。











