VSCode 启动时自动使用 Git Bash 作终端需配置 terminal.integrated.defaultProfile.windows,若未识别到 Git Bash 则需在 terminal.integrated.profiles.windows 中手动指定 git-bash.exe 路径,并确保新建终端而非复用旧终端。

怎么让 VSCode 启动时自动用 Git Bash 当终端
直接改设置就行,不用装插件、也不用改系统环境变量。VSCode 从 1.70 开始对终端配置做了简化,terminal.integrated.defaultProfile.windows 是关键开关。
打开设置(Ctrl+,),切到「工作区」或「用户」标签页,搜 terminal.integrated.defaultProfile.windows,点编辑图标,选 Git Bash。如果没看到这个选项,说明 VSCode 还没识别到 Git Bash 安装路径 —— 这是第一个容易卡住的地方。
- 确保 Git 已安装且
git-bash.exe在系统 PATH 里(典型路径是C:Program FilesGitgit-bash.exe或C:Users{user}AppDataLocalProgramsGitgit-bash.exe) - 如果 Git 是便携版或装在非标路径,得手动加进
terminal.integrated.profiles.windows配置里 - 改完设置后,关掉所有终端面板再新建一个,否则旧终端不会自动切换
Git Bash 路径没被自动识别?手动配 profile
VSCode 启动时会扫描常见路径找 git-bash.exe,但扫描逻辑很保守:只查注册表 + 几个硬编码路径,不递归搜索。如果你的 Git 装在 D 盘或者用了 Scoop、Chocolatey 管理,大概率识别失败。
这时候得自己补一条 profile。打开 settings.json(Ctrl+Shift+P → “Preferences: Open Settings (JSON)”),加这段:
"terminal.integrated.profiles.windows": {
"Git Bash": {
"source": "Git Bash",
"path": "D:\tools\git\git-bash.exe"
}
},
"terminal.integrated.defaultProfile.windows": "Git Bash"
-
path必须指向git-bash.exe,不是bash.exe或sh.exe;后者启动后没 Windows 风格路径映射,cd c:/xxx会报错 -
source设成Git Bash才能启用 VSCode 的 Git Bash 专用支持(比如正确的 cwd 传递、Ctrl+C 行为) - 如果同时装了多个 Git(比如 GitHub Desktop 自带一个),注意别选错
path
为什么新终端还是开 cmd / PowerShell?
最常被忽略的是「终端复用」机制:VSCode 默认会重用已有的终端实例,哪怕你改了默认 profile。它不会把正在跑 PowerShell 的窗口强行切到 Git Bash。
- 新建终端必须用快捷键
Ctrl+Shift+`或命令面板里的Terminal: Create New Terminal,不能点已有终端右上角的「+」按钮(那个会复用当前类型) - 如果终端面板里已经有一个 PowerShell 实例,按
Ctrl+Shift+`仍会新开一个 PowerShell —— 因为「默认 profile」只影响「首次创建」和「显式选择」 - 验证是否生效:关掉所有终端,再按一次
Ctrl+Shift+`,看左下角显示的是不是Git Bash
中文乱码、路径显示异常怎么办
Git Bash 终端里出现 ??? 或 /c/Users/xxx 而不是 C:Usersxxx,不是 VSCode 的锅,是 Git Bash 自身的编码或挂载配置问题。
- 先检查 Git Bash 独立运行是否正常:直接双击
git-bash.exe,输入echo $PWD,看输出是不是 Windows 风格路径;如果不是,说明 Git 安装时没勾选「Use Windows' default console window」 - VSCode 里中文乱码,大概率是终端字体不支持 CJK,改
terminal.integrated.fontFamily为"Cascadia Code", "Sarasa Term SC"这类等宽中文字体 - 如果
ls列出的文件名全是问号,进 Git Bash 设置(右键标题栏 → Options → Text),把 Locale 改成zh_CN,Character set 改成UTF-8
路径映射和字符编码这两块,VSCode 只负责调起进程,具体表现全由 Git Bash 自己控制。改 VSCode 设置解决不了底层 shell 的行为偏差。


















