По умолчанию code-runner настроен для mingw (g ++).
_Как я могу настроить его для C ++ Build Tools (MSVC или cl.exe). _
"cpp": "\" MyFolder \ VC \ bin \ amd64 \ vcvars64.bat \ "&& cd $ dir && cl $ fileName /fe$fileNameWithoutExt.exe && $ dir $ fileNameWithoutExt.exe",
Спасибо
вот содержимое settings.json, которое сработало для меня
`{
"files.autoSave": "afterDelay",
"code-runner.runInTerminal": правда,
"code-runner.executorMap": {
"python": "$pythonPath -u $fullFileName",
"cpp": " \"C:/Program Files (x86)/Microsoft Visual Studio/2019/BuildTools/Common7/Tools/VsDevCmd.bat\" && cd $dir && cl $fileName /fe$fileNameWithoutExt.exe && $dir$fileNameWithoutExt.exe ",
}
} `
ниже представлена моя настройка с аргументами "/ Zi / EHsc / Fe:", которые я видел из официального документа VSCode по настройке VC ++. Путь к файлу VsDevCmd.bat может отличаться в зависимости от вашей версии VS.
"code-runner.executorMap": {
"cpp": " \"C:/Program Files (x86)/Microsoft Visual Studio/2019/Enterprise/Common7/Tools/VsDevCmd.bat\" && cd $dir && cl $fileName /Zi /EHsc /Fe:$fileNameWithoutExt.exe && $dir$fileNameWithoutExt.exe ",
}
Это одна из моих работ, когда для оболочки по умолчанию установлено значение PowerShell . Он не работает для командной строки (cmd.exe) (файл VsDevCmd.bat предназначен для cmd.exe ). Я установил его для языка C ("c"), но, вероятно, он должен работать для C ++ ("cpp"):
"code-runner.executorMap": {
"c": "Import-Module \"C:/Program Files (x86)/Microsoft Visual Studio/2019/Enterprise/Common7/Tools/Microsoft.VisualStudio.DevShell.dll\"; Enter-VsDevShell 00595aab; cd $dir; cl $fileName && del $fileNameWithoutExt.obj && Clear-Host && Start-Process pwsh -ArgumentList \"-Command &{.\\$fileNameWithoutExt; pause}\"",
Командная строка для PowerShell:
Import-Module \"C:/Program Files (x86)/Microsoft Visual Studio/2019/Professional/Common7/Tools/Microsoft.VisualStudio.DevShell.dll\"; Enter-VsDevShell 00595aab
был извлечен из ярлыка Developer PowerShell for VS 2019 Windows Start Menu в его свойствах -> Target . Помните, что у каждого Enter-VsDevShell есть свой уникальный идентификационный номер. Вы должны использовать свой собственный.
Командная строка для cmd.exe:
\"C:/Program Files (x86)/Microsoft Visual Studio/2019/Professional/Common7/Tools/VsDevCmd.bat\"
был извлечен из ярлыка командной строки разработчика для VS 2019 в меню Пуск Windows (внутри: Свойства -> Цель)
Самый полезный комментарий
вот содержимое settings.json, которое сработало для меня
`{
"files.autoSave": "afterDelay",
"code-runner.runInTerminal": правда,
} `