在VS Code中使用Git Bash终端-如何强制其在内部打开

时间:2019-04-11 11:34:38

标签: bash git visual-studio-code git-bash

重复:I asked this on SuperUser without answer

使用:

  • 编辑器:VS代码
  • 终端:Git Bash

VS Code提供了一个快捷键Ctrl + Shift + C来从外部打开它,以及一个快捷键Ctrl +`(或者我是Ctrl + F1)来在内部打开它。

就我而言,它可以使用快捷方式以及“视图”->“终端”菜单从外部打开它。

据我所知,我将Google完全颠倒了,以找到此解决方案。

我已经从git-scm.com重新安装了Git。

如果我不小心将自己设置为强制外部打开,则我检查了VS代码设置(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窗口的底部如下所示:

Two internally opened "terminals" with split view in VS Code

它仍然在外部打开它们:

Both opened externally

谁能提供一些见识?

2 个答案:

答案 0 :(得分:1)

应该已经配置了预先存在的终端配置文件,所以它应该像添加一样简单:

"terminal.integrated.defaultProfile.windows": "Git Bash",

到您的 settings.json

答案 1 :(得分:0)

似乎将"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