Configuración de VS Code para compilación y ejecución de C++ en competencias de programación

Para estableecr VS Code como entorno de desarrollo para C++ en competencias de programación, es necesario tener MinGW instalado en Windows. La ruta predeterminada del compilador es C:/MinGW/bin/g++.exe, pero debe ajustarse si tu instalación es diferente.

Crea una carpeta llamada .vscode en el directorio de tu proyecto con la siguiente estructura:

.vscode
|-- propiedades_cpp.json
|-- depuracion.json
|-- tareas.json

Archivo propiedades_cpp.json:

{
    "configurations": [
        {
            "name": "Configuración Windows",
            "includePath": [
                "${default}"
            ],
            "windowsSdkVersion": "10.0.19041.0",
            "compilerPath": "C:/MinGW/bin/g++.exe",
            "cStandard": "c17",
            "cppStandard": "c++17"
        }
    ],
    "version": 4
}

Archivo depuracion.json:

{
    "version": "0.2.0",
    "configurations": [
        {
            "name": "Compilar código fuente",
            "type": "cppvsdbg",
            "request": "launch",
            "program": "cmd",
            "args": [
                "/C",
                "g++",
                "${fileDirname}\\${fileBasenameNoExtension}.cpp",
                "-o",
                "${fileDirname}\\${fileBasenameNoExtension}.exe"
            ],
            "stopAtEntry": false,
            "cwd": "${workspaceFolder}",
            "environment": [],
            "console": "internalConsole"
        },
        {
            "name": "Ejecutar programa compilado",
            "type": "cppvsdbg",
            "request": "launch",
            "program": "cmd",
            "args": [
                "/C",
                "${fileDirname}\\${fileBasenameNoExtension}.exe",
                "&",
                "pause"
            ],
            "stopAtEntry": false,
            "cwd": "${workspaceFolder}",
            "environment": [],
            "console": "newExternalWindow"
        },
        {
            "name": "Compilar y ejecutar directamente",
            "type": "cppvsdbg",
            "request": "launch",
            "program": "cmd",
            "args": [
                "/C",
                "g++",
                "${fileDirname}\\${fileBasenameNoExtension}.cpp",
                "-o",
                "${fileDirname}\\${fileBasenameNoExtension}.exe",
                "&",
                "${fileDirname}\\${fileBasenameNoExtension}.exe",
                "&",
                "pause"
            ],
            "stopAtEntry": false,
            "cwd": "${workspaceFolder}",
            "environment": [],
            "console": "newExternalWindow"
        }
    ]
}

Archivo tareas.json:

{
    "version": "2.0.0",
    "tasks": [
        {
            "type": "shell",
            "label": "build",
            "command": "g++",
            "args": [
                "-g",
                "${file}",
                "-o",
                "${fileDirname}\\${fileBasenameNoExtension}.exe"
            ],
            "problemMatcher": [
                "$gcc"
            ],
            "group": {
                "kind": "build",
                "isDefault": true
            }
        },
        {
            "type": "shell",
            "label": "run",
            "command": "${fileDirname}\\${fileBasenameNoExtension}.exe",
            "dependsOn": "build",
            "problemMatcher": [
                "$gcc"
            ],
            "group": {
                "kind": "test",
                "isDefault": true
            },
            "presentation": {
                "echo": true,
                "reveal": "always",
                "focus": false,
                "panel": "shared",
                "showReuseMessage": true,
                "clear": false
            }
        }
    ]
}

Para utilizar la configuración, presiona Ctrl+P en VS Code, escribe debug y selecciona una de las opciones disponibles: "Comiplar código fuente", "Ejecutar programa compilado" o "Compilar y ejecutar directamente".

Etiquetas: VSCode C++ mingw json-configuration competitive-programming

Publicado el 7-16 10:06