在 VS Code 中使用 Git Bash 终端 - 如何强制它在内部打开
Posted
技术标签:
【中文标题】在 VS Code 中使用 Git Bash 终端 - 如何强制它在内部打开【英文标题】:Using Git Bash terminal in VS Code - how to force it to open internally 【发布时间】:2019-09-02 00:48:48 【问题描述】:重复:I asked this on SuperUser without answer
使用:
编辑器:VS 代码 终端:Git BashVS Code 提供了一个快捷键 Ctrl+Shift+C 在外部打开它,并提供一个快捷键 Ctrl+`(或者在我的例子中是 Ctrl+F1)在内部打开它。
在我的例子中,它使用快捷方式以及菜单 View->Terminal 从外部打开它。
据我所知,我将 Google 颠倒过来以找到此解决方案。
我已经从 git-scm.com 重新安装了 Git。
我检查了我的 VS Code 设置 (Code\User\settings.json
) 以找到线索,如果我不小心设置为自己强制外部打开。
我知道我不应该粘贴整个文件,但也许你会发现 settings.json 中的问题所在:
// Chosen Terminal
"terminal.integrated.shell.windows": "C:\\Program Files\\Git\\bin\\bash.exe",
// Prevent losing aliases, colorization etc. for the Git bash terminal
// "terminal.integrated.shellArgs.windows": [
// "--login",
// "--init-file",
// "C:\\Program Files\\Git\\etc\\profile"
// ],
// Windows Terminal
"terminal.external.windowsExec": "C:\\Program Files\\Git\\bin\\bash.exe",
// Chosen Theme Color and Color Customization
"workbench.colorTheme": "Monokai",
"workbench.colorCustomizations":
"[Monokai]":
// "statusBar.background": "#666666",
// "panel.background": "#555555",
// "sideBar.background": "#444444",
"tab.activeBackground": "#999999",
"tab.activeForeground": "#333333"
,
// Emmet Customization
"emmet.triggerExpansionOnTab": true,
// Editor Customization
"editor.fontSize": 14,
"editor.wordWrap": "on",
"editor.codeActionsOnSave": ,
"editor.tabSize": 2,
// php Tooltip Suggestions
"php.suggest.basic": false,
"php.validate.executablePath": "C:\\xampp\\php\\php.exe", //for linting
"php.validate.run": "onSave", //change to onType if need be
"explorer.confirmDelete": false,
"beautify.language":
"js":
"type": [
"javascript",
"json",
"jsonc"/*,
"html"*/
],
"filename": [
".jshintrc",
".jsbeautifyrc"
]
,
"css": [
"css",
"scss"
],
"html": [
"htm",
"html"
]
,
"beautify.config":
"indent_size": 2,
"indent_char": " ",
"css":
"indent_size": 2
,
// Git costumization
"window.zoomLevel": 0,
"workbench.colorCustomizations":
"gitDecoration.addedResourceForeground": "#f45342",
"gitDecoration.modifiedResourceForeground": "#3888d8"
,
"workbench.settings.useSplitJSON": true,
"files.trimTrailingWhitespace": true,
"minify.minifyExistingOnSave": true
如果我使用 Ctrl+Shift+C 快捷键,假设在两个不同的项目上,它会像预期的那样打开两个外部终端。
如果我使用 Ctrl+F1(默认 Ctrl+`)快捷方式,它希望在内部打开它们,因此 VS Code 窗口的底部如下所示:
它仍然在外部打开它们:
谁能提供一些见解?
【问题讨论】:
Ctrl+F1
是否也用于键盘快捷键中的其他命令?
没有。我刚刚检查了 User Keybindings 以及 Default Keybindings 并且这个 "key": "ctrl+f1", "command": "workbench.action.terminal.toggleTerminal"
是唯一的出现。由于斯洛文尼亚语键盘,将其设置为ctrl+f1
。默认快捷键为ctrl+"backtick"
,但反引号组合键为AltGr+7
或Ctrl+Alt+7
。
【参考方案1】:
似乎将"terminal.external.windowsExec": "C:\\Program Files\\Git\\bin\\bash.exe"
添加到“设置”是旧方法,无法按预期工作。
从设置 JSON 中删除所有与 bash 相关的行(检查用户、工作区和文件夹设置以确保)并保存文件。
然后只需打开命令面板(Ctrl + Shift + P)并输入
Select Default Shell
然后从那里选择 bash。
现在您所要做的就是重新启动 VS Code,终端将按预期运行。
对于不在您的 %PATH% 中的 shell,请参阅其他答案。
见the complete Visual Studio Code shell reference。
【讨论】:
【参考方案2】:应该已经配置了预先存在的终端配置文件,因此应该像添加一样简单:
"terminal.integrated.defaultProfile.windows": "Git Bash",
到你的 settings.json
【讨论】:
以上是关于在 VS Code 中使用 Git Bash 终端 - 如何强制它在内部打开的主要内容,如果未能解决你的问题,请参考以下文章
如何在 Ubuntu on Windows (WSL) 上为我的 VS Code 终端使用 Bash?
为啥在超级终端中工作的永久别名在 vs-code bash 终端中不起作用?