msys mingw 的集成终端设置不适用于构建任务

Integrated terminal setup for msys mingw not working for build task

我已经使用以下设置使集成终端与 msys (bash) 终端一起工作:

"terminal.integrated.shell.windows": "C:\msys64\bin\msys_shell.cmd",
"terminal.integrated.shellargs.windows": "-mingw64 -defterm -nostart",
"terminal.integrated.env.windows": "HOME": "${workspace Folder}"

这很好用。我必须添加 env "HOME" 条目以使 sh 在正确的主目录中启动,因为它无法使用(或根本没有):

"terminal.integrated.cwd":“${workspaceFolder}”

现在我 运行 遇到了另一个问题。虽然上述设置对终端 window 非常有效,但它们无法完成构建任务。所以我被迫从集成终端 window.

手动 "make"

失败并出现错误:

/d: /d: 是一个目录

我的环境是Windows10 msys64 mingw64.

任何想法表示赞赏!

我 运行 今天遇到了同样的问题。在 help page for tasks.json 中,他们讨论了设置中的选项字段。

VSCode 对任务使用默认值 shell,除非您告诉它不要这样做。此外,您还必须将命令传递给生成的 shell。我使用 -shell bash -c 解决了这个问题,所以 bash 立即运行命令。

语法是这样的:

"command": "make -j8",
"options": {
  "shell": {
    "executable": "C:\msys2\msys2_shell.cmd",
    "args": ["-defterm", "-mingw64", "-no-start", "-here", "-shell bash -c"]
  }
}