Un santuario para quienes programan en C++ — con poder, precisión, y sin memory leaks.
cpp-sanctum es un entorno de desarrollo profesional basado en DevContainers de VSCode, diseñado para trabajar en C++17 (Por defecto, pudiendo cambiarse de forma sencilla) con todas las herramientas modernas: compilador, pruebas, cobertura, análisis estático y más.
- 🧠 Toolchain moderna:
clang,gcc,cmake,ninja,gdb - 🧪 Soporte para
CTest,lcov,valgrind,clang-tidyycppcheck - 🔍 Integración total con
clangd, hints en tiempo real,clang-format - 📦 Manejo de dependencias con
vcpkg - 🐳 Funciona igual en Linux como en Windows (con WSL2 o Docker Desktop)
Abrí PowerShell como Administrador y copiá el script manualmente (ver más abajo ⬇️)
Requisitos: Docker + VSCode + extensión Remote Containers
git clone https://github.com/GabrielEValenzuela/cpp-sanctum.git
cd cpp-sanctum
code .
# Luego: “Reopen in Container” desde la paleta de comandos de VSCode# Script de bootstrap para cpp-sanctum (Windows)
Set-ExecutionPolicy Bypass -Scope Process -Force
# --- Instalar Chocolatey ---
if (-not (Get-Command choco -ErrorAction SilentlyContinue)) {
Write-Host "Instalando Chocolatey..."
Set-ExecutionPolicy Bypass -Scope Process -Force
[System.Net.ServicePointManager]::SecurityProtocol = 3072
Invoke-Expression ((New-Object System.Net.WebClient).DownloadString('https://community.chocolatey.org/install.ps1'))
}
# --- Instalar herramientas necesarias ---
$packages = @("git", "vscode", "cmake", "ninja", "docker-desktop", "mingw", "curl")
foreach ($pkg in $packages) {
choco install $pkg -y --ignore-checksums
}
# --- Clonar el repositorio ---
$targetDir = "$env:USERPROFILE\cpp-sanctum"
if (-not (Test-Path $targetDir)) {
git clone https://github.com/GabrielEValenzuela/cpp-sanctum.git $targetDir
}
# --- Abrir en VSCode ---
Start-Process "code" -ArgumentList "-n", "$targetDir"Perfecto. Aquí tenés la sección del README.md actualizada con un tono profesional y accesible, explicando cómo usar las tareas integradas de VSCode dentro del contenedor:
Dentro del contenedor:
Existen tareas preconfiguradas que permiten ejecutar fácilmente las operaciones esenciales del ciclo de desarrollo en C++: compilar, probar, depurar y generar cobertura de código.
Simplemente abrí la paleta de comandos con Ctrl+Shift+P y seleccioná:
Tareas: Ejecutar tarea→CMake: ConfigureTareas: Ejecutar tarea→CMake: BuildTareas: Ejecutar tarea→CTest: Run testsTareas: Ejecutar tarea→CMake: Configure with coverage and testing
O desde el menú Terminal → Ejecutar tarea....
También podés trabajar desde terminal con los siguientes comandos:
cmake -S . -B build
cmake --build buildcmake -DENABLE_TESTING=ON -DENABLE_COVERAGE=ON -DCMAKE_BUILD_TYPE=Debug -S . -B build
cmake --build build --target test
ctest --test-dir build --output-on-failurecpp-sanctum/
├── .devcontainer/ # Entorno completo de desarrollo
├── .vscode/ # Tareas, configuración de debugging, ajustes de editor
├── src/ # Código fuente principal
├── tests/ # Tests unitarios (CTest)
├── scripts/ # Scripts de instalación y setup
├── CMakeLists.txt
└── README.md
Porque desarrollar en C++ debería hacerse en un lugar sagrado — donde valgrind no detecta pérdidas, clang-tidy te guía con sabiduría, y ctest pasa todo en verde.
MIT. Usalo para crear software épico y mantenible. Compartí, mejorá, enseñá.