我试图将MSYS2 shell集成到集成终端中。以下是我的用户设置:
{
"terminal.integrated.shell.windows": "C:\\msys64\\usr\\bin\\bash.exe",
"terminal.integrated.shellArgs.windows": ["--login", "-i"]
}
但是,我遇到了一个问题,--login
将当前的工作目录更改为Windows。我希望当前目录位于工作区的根目录。
我的进一步尝试是尝试添加一个标志-c 'cd ${workspaceRoot}'
。然而,巴什会在一开始就崩溃。我可以通过删除--login
正确地进入当前目录,但是没有登录模式,所有其他的shell命令(ls
、cd
等)都不可用。
如何正确地将MSYS2 shell集成到vscode中?
发布于 2022-11-20 18:04:39
这个问题已经有一年多了,但我仍然有这个问题。我只是想分享我的解决方案,因为不在这里。
接受的答案可以工作,并且允许任务也可以工作,但是当我尝试让vscode-cpptools调试器启动GDB时,GDB总是会因为以下错误崩溃,除非我删除了--login
。
ERROR: Unable to start debugging. Unexpected GDB output from command "-exec-run". During startup program exited with code 0xc0000135
要解决这个问题,有两个选项,第一个是将"source": "Git Bash"
添加到终端配置文件中,但这需要安装用于windows的git。
第二个选项更简单,无需使用--login
添加路径变量。
"terminal.integrated.profiles.windows":
{
"MINGW64":
{
"path": "C:/msys64/usr/bin/bash.exe",
"env":
{
"CHERE_INVOKING": "1",
"MSYSTEM": "MINGW64",
// THE FOLLOWING IS A HACK TO PLACE THE MSYS PATHS BEFORE THE WINDOWS ONES
"PATH": "/usr/bin;/mingw64/bin;${env:PATH}"
},
"color": "terminal.ansiMagenta"
}
},
"terminal.integrated.defaultProfile.windows": "MINGW64",
希望这能有所帮助。
https://stackoverflow.com/questions/45836650
复制相似问题