vscode 中 terminal.integrated.defaultprofile.windows 不生效是因为需同时配置 defaultprofile 和 profiles.windows 且路径、名称、参数必须严格匹配;git-bash.exe 路径须正确,profile 名称大小写空格须完全一致,旧终端需全部关闭后新建才生效。

直接改 terminal.integrated.defaultProfile.windows 不生效——VSCode 必须同时知道“你要哪个终端”和“它在哪”,缺一不可。
为什么点选“Git Bash”后新开终端还是 PowerShell
VSCode 的下拉菜单只显示它已成功识别的终端。没出现 ≠ 没装 Git,而是它没在默认路径找到 git-bash.exe。常见原因包括:
- Git 装在非标位置(比如
D: oolsgit或 Scoop 安装路径),VSCode 不会递归扫描 - 安装时取消了 “Add Git Bash to PATH”,导致 VSCode 无法通过环境变量定位
- 你复制的路径是
bash.exe或sh.exe,但 VSCode 只认带 GUI 封装的git-bash.exe——后者才能正确映射 Windows 路径、加载 Git 环境 - 路径含空格或中文,JSON 解析失败(VSCode 不报错,静默忽略整个
terminal.integrated.profiles.windows块)
怎么写 settings.json 才真正生效
打开命令面板(Ctrl + Shift + P),输入并选择 Preferences: Open Settings (JSON),在已有 JSON 对象内(花括号之间)插入以下两段,注意逗号分隔、无 trailing comma:
"terminal.integrated.defaultProfile.windows": "Git Bash",
"terminal.integrated.profiles.windows": {
"Git Bash": {
"path": "C:\Program Files\Git\git-bash.exe",
"args": ["--login", "-i"]
}
}
关键细节:
-
path必须指向git-bash.exe,不是bash.exe;可用双反斜杠或正斜杠(C:/Program Files/Git/git-bash.exe) - profile 名称
"Git Bash"必须和defaultProfile的值**完全一致**(大小写、空格都不能差) -
args加--login -i才能读取~/.bashrc,否则git、ssh、自定义 alias 都不可用 - 如果路径是
D:softwareGitgit-bash.exe,就填那个,别硬套 C 盘路径
改完配置却没变化?先关掉所有终端再新建
VSCode 不会把正在运行的 PowerShell 终端“热切换”成 Git Bash。旧终端保持原样,新终端才按新配置启动。必须:
- 点终端面板右上角垃圾桶图标,**关掉所有已打开的终端标签页**(不是最小化)
- 用
Ctrl + Shift + `新建终端,或命令面板执行Terminal: Create New Terminal - 不要点已有终端右上角的「+」——那是复用当前类型,不是新建默认类型
- 如果还在 WSL 或 SSH 远程环境中,
.windows配置完全不生效,得配terminal.integrated.defaultProfile.linux
最容易被忽略的是 profile 名称拼写一致性,以及终端复用机制——这两个点卡住的人最多。











