VSCode 尝试将 Git Bash 设置为终端的默认配置文件时出现设置错误
VSCode error in settings when trying to set Git Bash as default profile for terminal
我尝试将Git Bash设置为VSCode中的默认终端,但我无法成功。我已尝试阅读下一篇文章:
但是他们没有解决我的问题。
我设法在 settings.json
中生成了配置文件,但是 Git Bash 出于某种我不知道的原因无法正常工作并且 VsCode 显示错误。
我的settings.json
:
{
"terminal.integrated.profiles.windows": {
"PowerShell": {
"source": "PowerShell",
"icon": "terminal-powershell"
},
"Command Prompt": {
"path": [
"${env:windir}\Sysnative\cmd.exe",
"${env:windir}\System32\cmd.exe"
],
"args": [],
"icon": "terminal-cmd"
},
"Git Bash": {
"source": "Git Bash",
"path": "C:\git-sdk-64\git-bash.exe",
"args": [
"--login",
"-i"
]
},
"Cygwin": {
"path": "C:\cygwin64\bin\bash.exe",
"args": [
"--login"
]
}
},
"terminal.integrated.defaultProfile.windows": "Git Bash"
}
错误:
有人知道如何解决这个问题吗?
我的VsCode版本:
Version: 1.57.1 (user setup)
Commit: 507ce72a4466fbb27b715c3722558bb15afa9f48
Date: 2021-06-17T13:28:07.755Z
Electron: 12.0.7
Chrome: 89.0.4389.128
Node.js: 14.16.0
V8: 8.9.255.25-electron.0
OS: Windows_NT x64 10.0.19042
编辑:
我使用 git SDK,它类似于 git-bash,但不完全相同。也许这就是问题所在?
这终于对我有用
"terminal.integrated.profiles.windows": {
"PowerShell": {
"source": "PowerShell",
"icon": "terminal-powershell"
},
"Command Prompt": {
"path": [
"${env:windir}\Sysnative\cmd.exe",
"${env:windir}\System32\cmd.exe"
],
"args": [],
"icon": "terminal-cmd"
},
"GitBash": {
"path": ["C:\Program Files\Git\bin\bash.exe"],
"args": [],
"icon": "terminal-bash"
}
},
"terminal.integrated.defaultProfile.windows": "GitBash"
}
我刚遇到同样的问题。而我的 VS Code 1.60.0 上的解决方案也是将 Git Bash
重命名为 GitBash
.
在使用 Developer Tools 进行调试期间,我发现 VS Code 总是将对象值与相同键的默认值“合并”,因此:
- 在 VS Code 中,
Git Bash
键的默认值为 { source: "Git Bash" }
- 我曾经写过
{..., "Git Bash": { "path": "D:\Git\usr\bin\bash.exe", ... }}
- 然后合并后的值为
{..., "Git Bash": { "source": "Git Bash", "path": "...", ... }}
- 在名为
showProfileQuickPick
的函数中,VS Code 调用 _detectProfiles
- 此函数将
terminal.integrated.profiles.windows
和 terminal.integrated.defaultProfile.windows
的值发送到其 _primaryOffProcessTerminalService
profiles
的值就是合并后的值
- 因此,
Git Bash
的对象不知何故“非法”,然后被忽略
相反,GitBash
表示声明一个新的配置文件对象,所以它应该可以工作。
我尝试将Git Bash设置为VSCode中的默认终端,但我无法成功。我已尝试阅读下一篇文章:
但是他们没有解决我的问题。
我设法在 settings.json
中生成了配置文件,但是 Git Bash 出于某种我不知道的原因无法正常工作并且 VsCode 显示错误。
我的settings.json
:
{
"terminal.integrated.profiles.windows": {
"PowerShell": {
"source": "PowerShell",
"icon": "terminal-powershell"
},
"Command Prompt": {
"path": [
"${env:windir}\Sysnative\cmd.exe",
"${env:windir}\System32\cmd.exe"
],
"args": [],
"icon": "terminal-cmd"
},
"Git Bash": {
"source": "Git Bash",
"path": "C:\git-sdk-64\git-bash.exe",
"args": [
"--login",
"-i"
]
},
"Cygwin": {
"path": "C:\cygwin64\bin\bash.exe",
"args": [
"--login"
]
}
},
"terminal.integrated.defaultProfile.windows": "Git Bash"
}
错误:
有人知道如何解决这个问题吗?
我的VsCode版本:
Version: 1.57.1 (user setup)
Commit: 507ce72a4466fbb27b715c3722558bb15afa9f48
Date: 2021-06-17T13:28:07.755Z
Electron: 12.0.7
Chrome: 89.0.4389.128
Node.js: 14.16.0
V8: 8.9.255.25-electron.0
OS: Windows_NT x64 10.0.19042
编辑:
我使用 git SDK,它类似于 git-bash,但不完全相同。也许这就是问题所在?
这终于对我有用
"terminal.integrated.profiles.windows": {
"PowerShell": {
"source": "PowerShell",
"icon": "terminal-powershell"
},
"Command Prompt": {
"path": [
"${env:windir}\Sysnative\cmd.exe",
"${env:windir}\System32\cmd.exe"
],
"args": [],
"icon": "terminal-cmd"
},
"GitBash": {
"path": ["C:\Program Files\Git\bin\bash.exe"],
"args": [],
"icon": "terminal-bash"
}
},
"terminal.integrated.defaultProfile.windows": "GitBash"
}
我刚遇到同样的问题。而我的 VS Code 1.60.0 上的解决方案也是将 Git Bash
重命名为 GitBash
.
在使用 Developer Tools 进行调试期间,我发现 VS Code 总是将对象值与相同键的默认值“合并”,因此:
- 在 VS Code 中,
Git Bash
键的默认值为{ source: "Git Bash" }
- 我曾经写过
{..., "Git Bash": { "path": "D:\Git\usr\bin\bash.exe", ... }}
- 然后合并后的值为
{..., "Git Bash": { "source": "Git Bash", "path": "...", ... }}
- 在名为
showProfileQuickPick
的函数中,VS Code 调用_detectProfiles
- 此函数将
terminal.integrated.profiles.windows
和terminal.integrated.defaultProfile.windows
的值发送到其_primaryOffProcessTerminalService
profiles
的值就是合并后的值
- 此函数将
- 因此,
Git Bash
的对象不知何故“非法”,然后被忽略
相反,GitBash
表示声明一个新的配置文件对象,所以它应该可以工作。