Saltar al contenido

Código de Visual Studio includePath

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

Abra la configuración global.json: Archivo >
<div class=

Preferencias > Configuración ” origen=”https://i.stack.imgur.com/YyBAb.png” />

Luego seleccione la pestaña ‘Usuario’, abra la sección ‘Extensiones’, haga clic en ‘C/C++’. Luego desplácese por el panel derecho hasta que encuentre el botón ‘Editar en settings.json’.

Luego seleccione la pestaña 'Usuario', abra la sección 'Extensiones', haga clic en 'C/C++'.  Luego desplácese por el panel derecho hasta que encuentre el botón 'Editar en settings.json'.

Por último, agregas el “C_Cpp.default.includePath” sección. El código proporcionado allí es de mi propio sistema (Windows 7). Puede usarlo como base para sus propias rutas de bibliotecas. (Recuerde cambiar el YOUR USERNAME a su sistema correcto (mi caso de Windows) nombre de usuario)

(editar información: hay un problema con la recursión de mi enfoque. A VSCode no le gustan las definiciones múltiples para lo mismo. Lo resolví con "C_Cpp.intelliSenseEngine": "Tag Parser" )

Por último, agregas el

el código antes de la línea 7, en settings.json no tiene nada que ver con arduino o includePath. No puedes copiar eso…

Sección JSON para agregar a settings.json:

"C_Cpp.default.includePath": [
        "C:/Program Files (x86)/Arduino/libraries/**",
        "C:/Program Files (x86)/Arduino/hardware/arduino/avr/cores/arduino/**",
        "C:/Program Files (x86)/Arduino/hardware/tools/avr/avr/include/**",
        "C:/Program Files (x86)/Arduino/hardware/tools/avr/lib/gcc/avr/5.4.0/include/**",
        "C:/Program Files (x86)/Arduino/hardware/arduino/avr/variants/standard/**",
        "C:/Users//.platformio/packages/framework-arduinoavr/**",
        "C:/Users//Documents/Arduino/libraries/**",
        "$workspaceFolder/libraries/**",
        "$workspaceFolder/**"
    ],
"C_Cpp.intelliSenseEngine": "Tag Parser"

Para usuarios de Mac que solo tienen Herramientas de línea de comandos en lugar de código xcomprobar el /Library/Developer/CommandLineTools directorio, por ejemplo::

"configurations": [
    "name": "Mac",
    "includePath": [
            "/usr/local/include",
            // others, e.g.: "/usr/local/opt/ncurses/include",
            "/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include",
            "$workspaceFolder/**"
    ]
]

Probablemente necesite ajustar la ruta si tiene instalada una versión diferente de Command Line Tools.

Nota: También puede abrir/generar el c_cpp_properties.json archivo a través de la C/Cpp: Edit Configurations comando desde la paleta de comandos (⇧⌘P).

Si te ha resultado útil este post, nos gustaría que lo compartas con el resto entusiastas de la programación y nos ayudes a difundir esta información.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *