Last active
August 29, 2024 10:58
-
-
Save LuisPalacios/15b5c1298a6fc8ff8a96d7c2ed7135ef to your computer and use it in GitHub Desktop.
Ejemplo VSCode settings.json para Proyecto C++ en Windows 11 para desarrollo con MSVC, CLANG y depot_tools
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{ | |
// Compilador y Estándares: Se configura el compilador predeterminado como cl.exe | |
// de MSVC v143 y se establece el estándar C++17. También se configuran las rutas | |
// de inclusión y librerías, necesarias tanto para el SDK de Windows como para CLANG | |
// y depot_tools. | |
// Depuración: Se incluyen configuraciones para depuración tanto con MSVC como con | |
// LLDB (usado por CLANG). Estas configuraciones permiten alternar entre ambos | |
// entornos de compilación y depuración según sea necesario. | |
// Tareas de Compilación: Se configura una tarea para compilar el código C++ usando | |
// clang++ con soporte para C++17. Esta tarea genera un ejecutable en la carpeta | |
// bin\\Debug del proyecto. | |
// Integración con depot_tools: Se configuran variables de entorno y el PATH | |
// necesario para utilizar depot_tools, que es crucial para trabajar con CEF. Esto | |
// incluye la configuración específica para el toolchain de Windows y las | |
// herramientas de generación (gyp y gn). | |
// Asignaciones de Archivos: Los archivos .gyp y .gn son configurados para asociarse | |
// con Python y texto plano, respectivamente, facilitando la edición y manipulación | |
// de los archivos de configuración de depot_tools y CEF. | |
// Git: Se configura la integración con Git, especificando la ruta del ejecutable y | |
// habilitando la auto-sincronización (autofetch), lo que facilita la gestión del | |
// repositorio de código fuente dentro de VSCode. | |
// Configuración del compilador predeterminado para C++ | |
"C_Cpp.default.compilerPath": "C:\\Program Files\\Microsoft Visual Studio\\2022\\Community\\VC\\Tools\\MSVC\\14.33.31629\\bin\\Hostx64\\x64\\cl.exe", | |
"C_Cpp.default.cppStandard": "c++17", | |
"C_Cpp.default.cStandard": "c11", | |
"C_Cpp.default.intelliSenseMode": "windows-msvc-x64", | |
// Incluir rutas adicionales para encabezados y librerías | |
"C_Cpp.default.includePath": [ | |
"C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.22000.0\\ucrt", | |
"C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.22000.0\\shared", | |
"C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.22000.0\\um", | |
"C:\\Program Files\\LLVM\\lib\\clang\\17.0.1\\include", | |
"C:\\depot_tools\\", | |
"${workspaceFolder}\\include" | |
], | |
"C_Cpp.default.libPath": [ | |
"C:\\Program Files (x86)\\Windows Kits\\10\\Lib\\10.0.22000.0\\ucrt\\x64", | |
"C:\\Program Files (x86)\\Windows Kits\\10\\Lib\\10.0.22000.0\\um\\x64", | |
"${workspaceFolder}\\lib" | |
], | |
// Configuración para depuración con MSVC | |
"launch": { | |
"configurations": [ | |
{ | |
"name": "Depurar con MSVC", | |
"type": "cppvsdbg", | |
"request": "launch", | |
"program": "${workspaceFolder}\\bin\\Debug\\mi_programa.exe", | |
"args": [], | |
"stopAtEntry": false, | |
"cwd": "${workspaceFolder}", | |
"environment": [], | |
"console": "integratedTerminal" | |
} | |
] | |
}, | |
// Configuración para depuración con LLDB de CLANG | |
"launch": { | |
"configurations": [ | |
{ | |
"name": "Depurar con LLDB (Clang)", | |
"type": "cppdbg", | |
"request": "launch", | |
"program": "${workspaceFolder}\\bin\\Debug\\mi_programa.exe", | |
"args": [], | |
"stopAtEntry": false, | |
"cwd": "${workspaceFolder}", | |
"environment": [], | |
"console": "integratedTerminal", | |
"MIMode": "lldb", | |
"setupCommands": [ | |
{ | |
"description": "Enable pretty-printing for gdb", | |
"text": "-enable-pretty-printing", | |
"ignoreFailures": true | |
} | |
], | |
"preLaunchTask": "build" | |
} | |
] | |
}, | |
// Configuración para compilar con CLANG | |
"tasks": { | |
"version": "2.0.0", | |
"tasks": [ | |
{ | |
"label": "build", | |
"type": "shell", | |
"command": "clang++", | |
"args": [ | |
"-std=c++17", | |
"-o", | |
"${workspaceFolder}\\bin\\Debug\\mi_programa.exe", | |
"${workspaceFolder}\\src\\*.cpp", | |
"-I", | |
"${workspaceFolder}\\include", | |
"-L", | |
"${workspaceFolder}\\lib", | |
"-lcef", | |
"-luser32", | |
"-lkernel32" | |
], | |
"group": { | |
"kind": "build", | |
"isDefault": true | |
}, | |
"problemMatcher": ["$gcc"], | |
"detail": "Compilar usando CLANG con LLVM 17.0.1" | |
} | |
] | |
}, | |
// Configuración para depot_tools (utilizada para sincronización y construcción de CEF) | |
"terminal.integrated.env.windows": { | |
"DEPOT_TOOLS_WIN_TOOLCHAIN": "0", | |
"GYP_DEFINES": "component=shared_library", | |
"GYP_MSVS_VERSION": "2022", | |
"PATH": "${env:PATH};C:\\depot_tools" | |
}, | |
// Asignaciones de archivos para .gyp y .gn usados en la configuración de CEF | |
"files.associations": { | |
"*.gyp": "python", | |
"*.gn": "plaintext" | |
}, | |
// Configuración para la integración con Git en Windows | |
"git.path": "C:\\Program Files\\Git\\bin\\git.exe", | |
"git.autofetch": true, | |
// Desactivar la confirmación de eliminación en el explorador de archivos | |
"explorer.confirmDelete": false | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment