VS Code Debugging

launch.json configuration for Python debugging in VS Code

Configure via .vscode/launch.json:

{
    "version": "0.2.0",
    "configurations": [
        {
            "name": "Debug Main Script",
            "type": "debugpy",
            "request": "launch",
            "program": "${workspaceFolder}/main.py",
            "console": "integratedTerminal",
            "args": [],
            "envFile": "${workspaceFolder}/.env",
            "python": "/path/to/venv/bin/python",
            "justMyCode": true,
            "env": {
                "PYTHONPATH": "${workspaceFolder}",
                "DEBUG": "true"
            }
        },
        {
            "name": "Train Model",
            "type": "debugpy",
            "request": "launch",
            "program": "${workspaceFolder}/train.py",
            "console": "integratedTerminal",
            "args": [
                "--instance_data_dir", "examples/creature",
                "--output_dir", "outputs/creature"
            ],
            "justMyCode": false,
            "subProcess": true
        }
    ]
}

Key Variables

  • ${workspaceFolder} — project root
  • ${file} — currently open file
  • ${command:python.interpreterPath} — selected interpreter

Tips

  • Use justMyCode: false to debug into libraries
  • Use subProcess: true for training that spawns child processes
  • Always use forward slashes in paths