Skip to content

Instantly share code, notes, and snippets.

@LuisPalacios
Last active August 29, 2024 10:58
Show Gist options
  • Save LuisPalacios/15b5c1298a6fc8ff8a96d7c2ed7135ef to your computer and use it in GitHub Desktop.
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
{
// 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