La configuración se centra en la integración con herramientas de línea de comandos como gcc, g++ y gdb, permitiendo compilar, ejecutar y depurar proyectos desde el editor.
Requisitos previos
Se necesitan dos componentes principales:
- Visual Studio Code
- MSYS2 (entorno de herramientas GNU para Windows)
Instalación de MSYS2
Descargar e instalar MSYS2 desde su sitio oficial. Una vez instalado, abrir la terminal de MSYS2 y actualizar los paquetes:
pacman -Syu
Instalación de herramientas de compilación MinGW-w64
Instalar las herramientas de compilación necesarias:
pacman -S --needed base-devel mingw-w64-x86_64-toolchain
Verificar la instalación:
gcc -v
Configuración de variables de entorno
Agregar al PATH:
C:\msys64\mingw64\bin
Establecer la variable HOME:
C:\msys64\home\<nombre_usuario>
</nombre_usuario>
Configuración de VSCode
Archivos de configuración
Crear dentro del proyecto una carpeta llamada .vscode con los siguientes archivos:
c_cpp_properties.json
{
"configurations": [
{
"name": "Win32",
"includePath": [
"${workspaceFolder}/**",
"D:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.3.0/include",
"D:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.3.0/../../../../include",
"D:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.3.0/include-fixed",
"D:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.3.0/../../../../x86_64-w64-mingw32/include"
],
"defines": [
"_DEBUG",
"UNICODE",
"_UNICODE"
],
"windowsSdkVersion": "10.0.19041.0",
"cStandard": "c17",
"cppStandard": "c++17",
"intelliSenseMode": "windows-gcc-x64",
"compilerPath": "D:/msys64/mingw64/bin/gcc.exe"
}
],
"version": 4
}
launch.json
{
"version": "0.2.0",
"configurations": [
{
"name": "gcc.exe - Build and debug active file",
"type": "cppdbg",
"request": "launch",
"program": "${fileDirname}\\${fileBasenameNoExtension}.exe",
"args": [],
"stopAtEntry": false,
"cwd": "D:/msys64/mingw64/bin",
"environment": [],
"externalConsole": false,
"MIMode": "gdb",
"miDebuggerPath": "D:\\msys64\\mingw64\\bin\\gdb.exe",
"setupCommands": [
{
"description": "Enable pretty-printing for gdb",
"text": "-enable-pretty-printing",
"ignoreFailures": true
}
],
"preLaunchTask": "C/C++: gcc.exe build active file"
}
]
}
tasks.json
{
"tasks": [
{
"type": "cppbuild",
"label": "C/C++: gcc.exe build active file",
"command": "D:/msys64/mingw64/bin/gcc.exe",
"args": [
"-fexec-charset=GBK",
"-Wall",
"-static-libgcc",
"-g",
"${file}",
"-o",
"${fileDirname}\\${fileBasenameNoExtension}.exe"
],
"options": {
"cwd": "D:/msys64/mingw64/bin"
},
"problemMatcher": [
"$gcc"
],
"group": {
"kind": "build",
"isDefault": true
},
"detail": "Task generated by Debugger."
}
],
"version": "2.0.0"
}
Uso básico
Una vez configurado, abrir un archivo fuente (.c) en VSCode y presionar F5 para compilar y ejecutar. La configuración permite:
- Compilación automática con Ctrl+F5
- Ejecución con depuración
- Intellisense para completado de código
Consideraciones adicionales
Para proyectos complejos o con Makefiles, se puede usar el plugin Makefile Tools de Microsoft.
En sistemas Linux, la configuración es similar pero con paquetes de desarrollo instalados directamente:
sudo apt install build-essential gdb
La clave para dominar esta configuración radica en entender cómo funcionan las herramientas de compilación desde la línea de comandos antes de integrarlas con el IDE.