Por defecto, code-runner está configurado para mingw (g ++).
_Cómo puedo configurarlo para C ++ Build Tools (MSVC o cl.exe) ._
"cpp": "\" MyFolder \ VC \ bin \ amd64 \ vcvars64.bat \ "&& cd $ dir && cl $ fileName /fe$fileNameWithoutExt.exe && $ dir $ fileNameWithoutExt.exe",
Gracias
aquí está el contenido de settings.json que funcionó para mí
`{
"files.autoSave": "afterDelay",
"code-runner.runInTerminal": verdadero,
"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 ",
}
} `
A continuación se muestra mi configuración con los argumentos "/ Zi / EHsc / Fe:" que vi en el documento oficial de VSCode en la configuración de VC ++. La ruta de archivo de VsDevCmd.bat puede variar según su versión de 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 ",
}
Este es un trabajo para mí cuando Default Shell está configurado en PowerShell . No funciona para el símbolo del sistema (cmd.exe) (el archivo VsDevCmd.bat es para cmd.exe ). Lo configuré para lenguaje C ("c") pero probablemente debería funcionar para 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}\"",
Línea de comandos para PowerShell:
Import-Module \"C:/Program Files (x86)/Microsoft Visual Studio/2019/Professional/Common7/Tools/Microsoft.VisualStudio.DevShell.dll\"; Enter-VsDevShell 00595aab
se extrajo del acceso directo del menú de inicio de Windows Developer PowerShell para VS 2019 dentro de sus Propiedades -> Destino . Tenga en cuenta que cada Enter-VsDevShell tiene su propio número de identificación único. Debes usar el tuyo propio.
Línea de comando para cmd.exe:
\"C:/Program Files (x86)/Microsoft Visual Studio/2019/Professional/Common7/Tools/VsDevCmd.bat\"
se extrajo del símbolo del sistema del VS 2019 (dentro de: Propiedades -> Destino)
Comentario más útil
aquí está el contenido de settings.json que funcionó para mí
`{
"files.autoSave": "afterDelay",
"code-runner.runInTerminal": verdadero,
} `