Par défaut, code-runner est configuré pour mingw(g++).
_Comment puis-je le configurer pour les outils de construction C++ (MSVC ou cl.exe)._
"cpp": "\"MyFolder\VC\bin\amd64\vcvars64.bat\" && cd $dir && cl $fileName /fe$fileNameWithoutExt.exe && $dir$fileNameWithoutExt.exe ",
Merci
voici le contenu du settings.json qui a fonctionné pour moi
`{
"files.autoSave": "afterDelay",
"code-runner.runInTerminal": vrai,
"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 ",
}
}`
ci-dessous est ma configuration avec les arguments "/Zi /EHsc /Fe:" que j'ai vu dans le document officiel de VSCode sur la configuration de VC++. Le chemin de fichier de VsDevCmd.bat peut varier en fonction de votre version 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 ",
}
C'est un travail pour moi lorsque Default Shell est défini sur PowerShell . Cela ne fonctionne pas pour l'invite de commande (cmd.exe) (le fichier VsDevCmd.bat est pour cmd.exe ). Je l'ai défini pour le langage C ("c") mais devrait probablement fonctionner pour 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}\"",
Ligne de commande pour PowerShell :
Import-Module \"C:/Program Files (x86)/Microsoft Visual Studio/2019/Professional/Common7/Tools/Microsoft.VisualStudio.DevShell.dll\"; Enter-VsDevShell 00595aab
a été extrait du raccourci du menu Démarrer de Windows Developer PowerShell for VS 2019 dans ses Propriétés -> Cible . Gardez à l'esprit que chaque Enter-VsDevShell a son propre numéro d'identification unique. Vous devez utiliser le vôtre.
Ligne de commande pour cmd.exe :
\"C:/Program Files (x86)/Microsoft Visual Studio/2019/Professional/Common7/Tools/VsDevCmd.bat\"
a été extrait de l' invite de commande du VS 2019 (dans : Propriétés -> Cible)
Commentaire le plus utile
voici le contenu du settings.json qui a fonctionné pour moi
`{
"files.autoSave": "afterDelay",
"code-runner.runInTerminal": vrai,
}`