При создании задачи VSCode в Windows и попытке использовать задачу для запуска оболочки Mingw64, а затем передать аргументы для создания файла, пути смешиваются между путями в стиле Unix и Windows.
Я пытаюсь лучше понять задачи VScode и, в частности, интегрировать оболочку в среду.
Я ожидаю
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
Он использует командную строку Windows для запуска оболочки mingw64, но я думаю, что если бы я смог открыть ее с уже запущенной оболочкой, это не было бы проблемой.
Это мой файл задач в 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 имеет встроенную настройку оболочки:
"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",