带有 git-sdk 自动完成功能的 Windows 终端无法正常工作

带有 git-sdk 自动完成功能的 Windows 终端无法正常工作

我在 Windows 终端中使用 git-sdk。它的“profiles”/“list”条目如下所示:

{
    "guid": "{00000000-0000-0000-ba54-000000000002}",
    "hidden": false,
    "name": "Git Bash",
    "tabTitle": "Git Bash",
    "commandline": "\"C:\\git-sdk-64\\usr\\bin\\bash.exe\" -i -l",
    
    "useAcrylic": false,
    "startingDirectory" : "%USERPROFILE%",
    "closeOnExit" : true,
    "fontFace" : "Consolas",
    "historySize" : 9001,
    "snapOnInput" : true
}

我注意到,当我尝试自动完成 git 命令(如git check^TAB)时,它会卡住并且不会自动完成任何内容。^C每次它像这样卡住时,我都必须这样做。

但是当我运行 C:\git-sdk-64\git-bash.exe 时一切正常。

我尝试使用"\"C:\\git-sdk-64\\usr\\bin\\bash.exe\" --login -i -l",因为当我运行git-bash.exe一瞬间时,此行显示为窗口标题:/usr/bin/bash --login -i -i -l。但它不起作用。

我尝试使用"\"C:\\git-sdk-64\\usr\\bin\\git-cmd.exe\""各种标志组合(-i/-l/--login),但git-cmd.exe似乎无法加载我的.bashrc/.profile,而我却需要它们。

我也尝试应用这个问题的修复 -在 Windows 上的 git bash 中启用自动完成功能?。但它们在我的情况下不起作用,可能是因为我使用的是 git-sdk 而不是 git-bash。

编辑1:我尝试使用"\"C:\\git-sdk-64\\git-bash.exe\"" -i -l,但这会在新窗口中打开 git-bash,而不是在 Windows 终端的新选项卡中打开,这不是我想要的。

还有谁使用类似 Win Terminal + git-sdk 的设置?您遇到过这个问题吗?您是如何解决的?

也许您知道在哪里可以找到有关 bash.exe/git-bash.exe 的 git-sdk 文档?

答案1

为了使其按预期工作,请创建一个名为的 Windows 环境变量MSYSTEM并将其设置为您的系统类型,例如MINGW64

有关受支持的系统类型列表,请参阅git-sdk-64\etc\msystem

有关如何在 Windows 10 中设置环境变量,请参见此处: 如何在 Windows 10 中设置系统环境变量?

我不确定这是否会导致其他 cygwin/mingw 应用程序出现任何问题,但这是我找到的在启动 bash.exe 之前设置变量的最佳方法

答案2

当我运行 C:\git-sdk-64\git-bash.exe 时一切正常

因此,您可以在“命令行”中使用C:\git-sdk-64\git-bash.exe神秘的 git-ism "\"C:\\git-sdk-64\\usr\\bin\\bash.exe\" -i -l",不是吗?

相关内容