Siéntete libre de divulgar nuestro sitio y códigos con otro, apóyanos para aumentar esta comunidad.
Solución:
Una visión más actual de la situación. Durante 2018, la extensión C++ agregó otra opción a la configuración compilerPath
de El c_cpp_properties.json
expediente;
compilerPath
(opcional) La ruta absoluta al compilador que usa para construir su proyecto. La extensión consultará al compilador para determinar las rutas de inclusión del sistema y las definiciones predeterminadas que se usarán para IntelliSense.
Si se usa, el includePath
no sería necesario ya que IntelliSense usará el compilador para descubrir las rutas de inclusión del sistema.
Originalmente,
¿Cómo y dónde puedo agregar rutas de inclusión en las configuraciones a continuación?
La lista es un string arraypor lo tanto, agregar una ruta de inclusión sería algo así como;
"configurations": [
"name": "Mac",
"includePath": ["/usr/local/include",
"/path/to/additional/includes",
"/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.11.sdk/usr/include"
]
]
Fuente; blog de cpptools 31 de marzo de 2016.
La fuente vinculada tiene un gif que muestra el formato para la configuración de Win32, pero lo mismo se aplica a los demás.
El ejemplo anterior incluye la ruta SDK (OSX 10.11) si Xcode está instalado.
Nota Me parece que puede llevar un tiempo actualizar una vez que se ha cambiado la ruta de inclusión.
La extensión cpptools se puede encontrar aquí.
Puede encontrar más documentación (de Microsoft) sobre la compatibilidad con el lenguaje C++ en VSCode aquí.
En aras de la conservación (de la discusión), los siguientes son fragmentos básicos del contenido del archivo tasks.json para compilar y ejecutar un archivo C++ o un archivo C. Permiten espacios en el nombre del archivo (requiere escapar de las comillas adicionales en el json usando "
). El shell se utiliza como corredor, lo que permite la compilación (clang...
) y la ejecución (&& ./a.out
) Del programa. También asume que task.json “vive” en el espacio de trabajo local (en el directorio .vscode). Puede encontrar más detalles de task.json, como las variables admitidas, etc. aquí.
Para C++;
"version": "0.1.0",
"isShellCommand": true,
"taskName": "GenericBuild",
"showOutput": "always",
"command": "sh",
"suppressTaskName": false,
"args": ["-c", "clang++ -std=c++14 -Wall -Wextra -pedantic -pthread "$file" && ./a.out"]
para C;
"version": "0.1.0",
"isShellCommand": true,
"taskName": "GenericBuild",
"showOutput": "always",
"command": "sh",
"suppressTaskName": false,
"args": ["-c", "clang -std=c11 -Wall -Wextra -pedantic -pthread "$file" && ./a.out"] // command arguments...
Para todos los que se caen de Google, aquí, esta es la solución para VSCode 1.40 (2019):
Abra la configuración global.json: Archivo > Preferencias > Configuración