在Windows中执行VSCode任务并尝试使用该任务启动Mingw64 shell,然后传递参数以生成文件时,unix和Windows样式路径之间的路径混合在一起。
我试图更好地理解VScode任务,尤其是将Shell集成到环境中。
我希望
Executing task: C:/msys64/mingw64/bin/g++.exe -g C:/Projects/helloworld.cpp -o C:/Projects/helloworld.exe
但是我得到了
Executing task: C:/msys64/mingw64/bin/g++.exe -g C:\Projects/helloworld.cpp -o C:\Projects/helloworld.exe
它是使用Window的cmd提示符启动mingw64 shell的,但是我认为,如果我能在已经启动该shell的情况下打开它,则不会有问题。
这是我在VSCode中的任务文件:
"tasks": [
{
"type": "shell",
"label": "Mingw MSYS g++.exe build",
"command": "C:/msys64/mingw64/bin/g++.exe",
"args": [
"-g",
"${workspaceRoot}/helloworld.cpp",
"-o",
"${workspaceFolder}/${fileBasenameNoExtension}.exe"
],
"group": {
"kind": "build",
"isDefault": true
}
}
]
我的settings.json文件具有集成的shell设置:
"terminal.integrated.shell.windows": "C:\\msys64\\usr\\bin\\bash.exe",
"terminal.integrated.env.windows":
{
"MSYSTEM": "MINGW64",
"MSVSCODE": "1"
},
"C_Cpp.default.compilerPath": "C:\\msys64\\mingw64\\bin\\g++.exe",
"C_Cpp.default.intelliSenseMode": "gcc-x64",