Por padrão, o executor de código é configurado para mingw (g ++).
_Como posso configurá-lo para C ++ Build Tools (MSVC ou cl.exe) ._
"cpp": "\" MyFolder \ VC \ bin \ amd64 \ vcvars64.bat \ "&& cd $ dir && cl $ fileName /fe$fileNameWithoutExt.exe && $ dir $ fileNameWithoutExt.exe",
Obrigado
aqui está o conteúdo do settings.json que funcionou para mim
`{
"files.autoSave": "afterDelay",
"code-runner.runInTerminal": true,
"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 ",
}
} `
abaixo está minha configuração com argumentos "/ Zi / EHsc / Fe:" que eu vi no documento oficial do VSCode na configuração do VC ++. O caminho do arquivo VsDevCmd.bat pode variar dependendo da sua versão do 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 é um trabalho para mim quando Default Shell é definido como PowerShell . Ele não funciona para o prompt de comando (cmd.exe) (o arquivo VsDevCmd.bat é para cmd.exe ). Eu o configurei para a linguagem C ("c"), mas provavelmente deve 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}\"",
Linha de comando para PowerShell:
Import-Module \"C:/Program Files (x86)/Microsoft Visual Studio/2019/Professional/Common7/Tools/Microsoft.VisualStudio.DevShell.dll\"; Enter-VsDevShell 00595aab
foi extraído do atalho do menu Iniciar do Windows do Developer PowerShell para VS 2019 em Propriedades -> Destino . Lembre-se de que cada Enter-VsDevShell tem seu próprio número de ID exclusivo. Você deve usar o seu próprio.
Linha de comando para cmd.exe:
\"C:/Program Files (x86)/Microsoft Visual Studio/2019/Professional/Common7/Tools/VsDevCmd.bat\"
foi extraído do prompt de comando do VS 2019 (em: Propriedades -> Destino)
Comentários muito úteis
aqui está o conteúdo do settings.json que funcionou para mim
`{
"files.autoSave": "afterDelay",
"code-runner.runInTerminal": true,
} `