No olvides que en la informática cualquier problema puede tener diferentes soluciones, por lo tanto nosotros aquí te compartimos lo más óptimo y eficiente.
Solución:
Si está utilizando CMake, VSCode tiene complementos de CMake para ayudarlo a construir el proyecto. Por lo tanto, no necesita modificar settings.json. Solo usa:
include_directories("$CMAKE_CURRENT_SOURCE_DIR/include")
O si no hay otros módulos que usen los archivos de encabezado en esa carpeta, podría usar algo como:
target_include_directories(MyHelper, "$CMAKE_CURRENT_SOURCE_DIR/include")
Si solo necesita que el proyecto se construya con éxito. Esa es toda la historia.
En el caso de eso, tienes algunas pequeñas líneas verdes en zigzag debajo de las declaraciones #include que te lastiman los ojos. Debe generar c_cpp_properties.json. No tiene nada que ver con ayudar al compilador a construir el código, sino con ayudar a VSCode intellisense a darse cuenta de la existencia de bibliotecas y archivos de encabezado. Y nuevamente, puede aprovechar CMake agregando opciones de CMake en CMakeLists.txt:
add_definitions(-DCMAKE_EXPORT_COMPILE_COMMANDS=ON)
El CMake generará un archivo. compile_commands.json
en su directorio de compilación. El VSCode puede analizar el archivo Json y encontrar la ruta de inclusión en función del contenido de ese archivo. Entonces, lo que debe hacer es informar a VSCode dónde está el archivo Json. Puede hacerlo agregando la siguiente línea en c_cpp_properties.json:
"configurations": [
"name": "Mac",
"compileCommands": "$workspaceFolder/build/compile_commands.json",
...
],
Reconstruir el proyecto permitirá que VSCode intellisense encuentre todas las rutas necesarias.
[Environment]
Ubuntu: 16.04.3
Código VSC: 1.23.1
Complementos de VSCode: C/C++ 0.17.0, CMAKE 0.0.17, CMakeTools 0.11.1
De acuerdo, esto fue una tontería, pero en caso de que alguien use Visual Studio Code
y no tiene un proyecto baladí. Estas instrucciones suponen que estás usando el compilador clang:
- Abre el directorio de tu proyecto
- Abierto
.vscode/settings.json
-
Configure la siguiente línea dentro del objeto JSON:
// Compiler options for C++ (e.g. ['-std=c++11']) "clang.cxxflags": [ "-I/path/to/my/include/directory" // header files ],