Ir al contenido

Depuración VSCode

Orionis Framework es totalmente compatible con el depurador de Visual Studio Code, lo que te permite colocar breakpoints, inspeccionar variables, navegar por el call stack y ejecutar paso a paso cualquier parte de tu aplicación, ya sea el servidor web o comandos de consola.

🗂️ Requisito previo: crear el archivo de configuración

Sección titulada «🗂️ Requisito previo: crear el archivo de configuración»

Para activar el soporte de depuración, crea el siguiente archivo en la raíz de tu proyecto (si la carpeta .vscode/ no existe, créala también):

.vscode/launch.json

Copia y pega la siguiente configuración dentro de .vscode/launch.json:

{
"version": "1.0.0",
"configurations": [
{
"name": "Debug Orionis Entry Point",
"type": "debugpy",
"request": "launch",
"python": "${workspaceFolder}/.venv/Scripts/python.exe",
"program": "${workspaceFolder}/reactor",
"pythonArgs": ["-B"],
"args": ["serve"],
"cwd": "${workspaceFolder}",
"console": "integratedTerminal",
"justMyCode": true,
"env": {
"PATH": "${workspaceFolder}/.venv/Scripts;${env:PATH}",
"VIRTUAL_ENV": "${workspaceFolder}/.venv"
}
}
]
}
CampoDescripción
nameNombre que aparecerá en el selector de configuraciones de VS Code.
typeMotor de depuración. Usa debugpy, el depurador oficial de Python.
requestTipo de solicitud. launch inicia el proceso desde cero.
pythonRuta al intérprete de Python dentro del entorno virtual.
programPunto de entrada de la aplicación (reactor en Orionis).
pythonArgsFlags pasados al intérprete. -B evita generar archivos .pyc.
argsArgumentos del programa. Aquí defines el comando a ejecutar.
cwdDirectorio de trabajo. Debe ser la raíz del proyecto.
consoleUsa la terminal integrada de VS Code para mostrar la salida.
justMyCodetrue limita la depuración únicamente al código del proyecto, ignorando librerías externas y el entorno virtual.
envVariables de entorno que activan el entorno virtual correctamente.

⚙️ Personalización según el caso de uso

Sección titulada «⚙️ Personalización según el caso de uso»

El campo args es el que debes modificar según lo que quieras depurar:

"args": ["serve"]
EscenarioValor de args
Servidor web["serve"]
Comando de consola personalizado["nombre-del-comando"]
Comando con argumentos adicionales["nombre-del-comando", "--opcion", "valor"]

Ejemplo para depurar un comando de consola llamado import:data:

"args": ["import:data", "--source", "users.csv"]

Puedes definir varias configuraciones dentro del array "configurations" para cubrir distintos escenarios sin tener que editar el archivo cada vez:

{
"version": "1.0.0",
"configurations": [
{
"name": "Debug Servidor Web",
"type": "debugpy",
"request": "launch",
"python": "${workspaceFolder}/.venv/Scripts/python.exe",
"program": "${workspaceFolder}/reactor",
"pythonArgs": ["-B"],
"args": ["serve"],
"cwd": "${workspaceFolder}",
"console": "integratedTerminal",
"justMyCode": true,
"env": {
"PATH": "${workspaceFolder}/.venv/Scripts;${env:PATH}",
"VIRTUAL_ENV": "${workspaceFolder}/.venv"
}
},
{
"name": "Debug Comando de Consola",
"type": "debugpy",
"request": "launch",
"python": "${workspaceFolder}/.venv/Scripts/python.exe",
"program": "${workspaceFolder}/reactor",
"pythonArgs": ["-B"],
"args": ["nombre-del-comando"],
"cwd": "${workspaceFolder}",
"console": "integratedTerminal",
"justMyCode": true,
"env": {
"PATH": "${workspaceFolder}/.venv/Scripts;${env:PATH}",
"VIRTUAL_ENV": "${workspaceFolder}/.venv"
}
}
]
}

Para cambiar de configuración, usa el selector desplegable en el panel Run and Debug (Ctrl+Shift+D) de VS Code.

  1. Abre el panel Run and Debug con Ctrl+Shift+D.
  2. Selecciona la configuración deseada en el desplegable superior.
  3. Coloca breakpoints haciendo clic en el margen izquierdo del editor (aparecerá un punto rojo).
  4. Presiona F5 o haz clic en el botón de play verde para iniciar.

La ejecución se detendrá automáticamente en cada breakpoint, permitiéndote inspeccionar el estado de la aplicación.

  • La ruta de Python debe apuntar al entorno virtual del proyecto:

    .venv/Scripts/python.exe ← Windows
    .venv/bin/python ← macOS / Linux
  • Si tu entorno virtual se llama de forma distinta a .venv, actualiza todas las referencias en el archivo launch.json.

  • La opción "justMyCode": true limita la depuración al código de tu proyecto, ignorando el .venv y las librerías de Python. Si en algún momento necesitas depurar código interno de una dependencia, puedes cambiarlo temporalmente a false.