【问题标题】:VSCode automatically opens Git shell in terminal - how to disable it?VSCode 自动在终端中打开 Git shell - 如何禁用它?
【发布时间】:2018-07-03 14:28:49
【问题描述】:

自上一个 VSCode 版本以来,有一个弹出窗口询问我是否要允许 Git 打开。好吧,我允许这样做,现在每次我尝试打开集成终端时,Git Shell 都会从外部打开并关闭集成终端。

我的用户配置:

"terminal.integrated.shell.windows": "C:\\WINDOWS\\Sysnative\\WindowsPowerShell\\v1.0\\powershell.exe"

但这无济于事,因为 git 已经在运行了。

我想打开 powershell 并像以前一样在 VSCode 中使用 git shell。我怎样才能做到这一点?

更新:

我按照 VonC 的建议运行 git config -l --show-origin

file:"C:\\ProgramData/Git/config"       core.symlinks=false
file:"C:\\ProgramData/Git/config"       core.autocrlf=true
file:"C:\\ProgramData/Git/config"       core.fscache=true
file:"C:\\ProgramData/Git/config"       color.diff=auto
file:"C:\\ProgramData/Git/config"       color.status=auto
file:"C:\\ProgramData/Git/config"       color.branch=auto
file:"C:\\ProgramData/Git/config"       color.interactive=true
file:"C:\\ProgramData/Git/config"       help.format=html
file:"C:\\ProgramData/Git/config"       http.sslcainfo=D:/TOOLS/Git/mingw64/ssl/certs/ca-bundle.crt
file:"C:\\ProgramData/Git/config"       diff.astextplain.textconv=astextplain
file:"C:\\ProgramData/Git/config"       rebase.autosquash=true
file:"D:\\TOOLS\\Git\\mingw64/etc/gitconfig"    credential.helper=manager
file:C:/Users/myusername/.gitconfig  filter.lfs.clean=git-lfs clean -- %f
file:C:/Users/myusername/.gitconfig  filter.lfs.smudge=git-lfs smudge -- %f
file:C:/Users/myusername/.gitconfig  filter.lfs.process=git-lfs filter-process
file:C:/Users/myusername/.gitconfig  filter.lfs.required=true
file:C:/Users/myusername/.gitconfig  user.name=MYName
file:C:/Users/myusername/.gitconfig  user.email=some@email.com
file:.git/config        core.repositoryformatversion=0
file:.git/config        core.filemode=false
file:.git/config        core.bare=false
file:.git/config        core.logallrefupdates=true
file:.git/config        core.symlinks=false
file:.git/config        core.ignorecase=true
file:.git/config        remote.origin.url=https://github.com/MyProject/my-project.git
file:.git/config        remote.origin.fetch=+refs/heads/*:refs/remotes/origin/*
file:.git/config        branch.master.remote=origin
file:.git/config        branch.master.merge=refs/heads/master
file:.git/config        branch.routing.remote=origin
file:.git/config        branch.routing.merge=refs/heads/routing

我的 VScode 用户设置:

"php.validate.executablePath": "D:/TOOLS/xampp7/php/php.exe",
"php.suggest.basic": false,
"window.zoomLevel": 0,
"workbench.colorTheme": "Monokai",
"workbench.iconTheme": "vs-seti",
"git.path": "D:/TOOLS/Git/cmd/git.exe",
// A glob pattern that defines files and folders to exclude while listing annotations
  "todohighlight.exclude": "{**/node_modules/**,**/bower_components/**,**/bower/**,**/libs/**,**/vendor/**,**/dist/**,**/build/**,**/.vscode/**,**/_output/**,**/*.min.*,**/*.map}",
  "git.autofetch": true,
  "git.confirmSync": false,
  "git.enableSmartCommit": true,
  "explorer.confirmDelete": false,
  "terminal.integrated.shell.windows": "C:\\WINDOWS\\Sysnative\\WindowsPowerShell\\v1.0\\powershell.exe",
  "todo.colors.tag": "#967848",
  "todo.colors.code": "#fbf5cb",

git 关键字的默认设置:

  "projectManager.git.baseFolders": [],
  "projectManager.git.maxDepthRecursion": 4,
  "git.autofetch": false,
  "git.autorefresh": true,
  "git.checkoutType": "all",
  "git.confirmSync": true,
  "git.countBadge": "all",
  "git.decorations.enabled": true,
  "git.defaultCloneDirectory": null,
  "git.enableCommitSigning": false,
  "git.enabled": true,
  "git.enableSmartCommit": false,
  "git.ignoreLegacyWarning": false,
  "git.ignoreLimitWarning": false,
  "git.ignoreMissingGitWarning": false,
  "git.path": null,

【问题讨论】:

  • @trebleCode 抱歉,但我知道这个文档 - 它对我的具体问题没有帮助。如果我调用集成终端 git 会在外部弹出并关闭集成终端,所以我没有机会在那里进行更改。如果我退出 git,它仍然会在我打开 vcode 终端时自动打开;(
  • 哦,好吧,对不起,我误解了。您是否尝试过备份您的用户和工作区设置,并尝试从“全新”启动 VSCode 开始?
  • @trebleCode 是的,我只是这样做了,但行为相同;(我认为这更像是 git 的事情......
  • 你能检查一下用户和工作区的设置,看看你允许 git 打开时自定义的东西吗?

标签: git visual-studio-code vscode-settings git-shell


【解决方案1】:

我认为这更像是一个 git 的事情

如果您确实使用了安装程序,请卸载适用于 Windows 的 Git。
为此,首先,检查(并移动/删除)列出的各种 Git 配置文件:

git config -l --show-origin

如果这是来自 Git 设置,您可以在那里看到它。

【讨论】:

  • 谢谢,但卸载 git 似乎是摆脱所描述行为的粗略步骤。我认为这是一个小问题,可以更简单地解决。我不明白来源列表对我有何帮助。
  • @Hexodus 至少,检查git config -l --show-origin:那里可能有一个设置可以解释你所看到的。
  • 我按照建议做了,并用这些信息更新了我的帖子。到目前为止,我没有看到任何有用的东西 - 你呢?
【解决方案2】:

我知道是什么导致了这个问题,或者至少是其中的一部分。在另一个项目中,我可以完美地打开终端,所以我比较了这两个项目,发现有问题的项目有一个.vscode 文件夹,里面有这个settings.json

{
    "terminal.integrated.shell.windows": "D:\\TOOLS\\Git\\git-bash.exe",
    "terminal.integrated.shell.windows": "C:\\WINDOWS\\Sysnative\\WindowsPowerShell\\v1.0\\powershell.exe"
}

这显然是由 VSCode 自己创建的,与使用 GUI 显示的用户配置文件无关。然后我只是注释掉了 git-bash 行并启动了 VSCode。从那以后,我从终端开始摆脱了 git auto 。现在最烦人的是每次加载项目都必须登录 Github。取消注释该行并没有改变这种行为。

如果有人能更好地解释那里发生了什么以及如何恢复 github 自动登录(不占用我的终端),我会接受一个好的答案。

【讨论】:

  • ~良好的反馈,比我的回答更准确。 +1
【解决方案3】:

https://git-scm.com/download/win下载并安装git

git 的默认路径应该是C:\\Program Files\\Git\\bin\\bash.exe

然后转到 File > Preferences > Settings 并在您的其他设置下添加此代码:

{
[...]
"git.enabled": false,
"git.path": null,
"git.autofetch": false,
"terminal.integrated.shell.windows": "C:\\Program Files\\Git\\bin\\bash.exe"
}

希望这会有所帮助!

【讨论】:

    猜你喜欢
    • 2020-12-11
    • 2022-06-17
    • 2020-01-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-12-24
    相关资源
    最近更新 更多