microsoft / microsoft/vscode-python-debugger

Debug launch configuration doesn't override Python interpreter

Abierto
#873 1 comentario 1 reacción 1 asignado Ver en GitHub

@eleanorjboyd ya está trabajando en esto.

Desde el 10/11/2025.

triage-needed
Lenguaje dominante
TypeScript
Estrellas
181
Forks
126
Merge medio
2 d 3 h
PR fusionados (30 d)
3

Descripción

Does this issue occur when all extensions are disabled?: Yes

  • VS Code Version: 1.105.1 (Universal)
  • OS Version: macOS 26.0.1

Issue:

I am using a multi-root workspace for my monorepo. I am using a monorepo.code-workspace file that roughly looks like the following:

{
  "folders": [
    {
      "name": "root",
      "path": "."
    },
    {
      "name": "service_A",
      "path": "service_A"
    },
    {
      "name": "service_B",
      "path": "service_B"
    },
    {
      "name": "company_python",
      "path": "company_python"
    },
  ],
  "launch": {
    "version": "0.2.0",
    "configurations": [
      {
        "name": "service_A",
        "consoleName": "service_A",
        "type": "debugpy",
        "request": "launch",
        "module": "uvicorn",
        "args": [
          "app.main:app",
          "--reload",
          "--reload-dir",
          "${workspaceFolder:service_A}",
          "--reload-dir",
          "${workspaceFolder:root}/company_python",
        ],
        "justMyCode": true,
        "console": "integratedTerminal",
        "env": {
          "POETRY_ACTIVE": "1",
          "PYTHONPATH": "${workspaceFolder:service_A}:${workspaceFolder:root}/company_python"
        },
        "cwd": "${workspaceFolder:service_A}",
        "python": "${workspaceFolder:service_A}/.venv/bin/python",
        "windows": {
          "python": "${workspaceFolder:service_A}\\.venv\\Scripts\\python.exe"
        }
      },
      {
        "name": "service_B",
        "consoleName": "service_B",
        "type": "debugpy",
        "request": "launch",
        "module": "uvicorn",
        "args": [
          "app.main:app",
          "--port",
          "8001",
          "--reload",
          "--reload-dir",
          "${workspaceFolder:service_B}",
          "--reload-dir",
          "${workspaceFolder:root}/company_python",
        ],
        "justMyCode": true,
        "console": "integratedTerminal",
        "env": {
          "POETRY_ACTIVE": "1",
          "PYTHONPATH": "${workspaceFolder:service_B}:${workspaceFolder:root}/company_python"
        },
        "cwd": "${workspaceFolder:service_B}",
        "python": "${workspaceFolder:service_B}/.venv/bin/python",
        "windows": {
          "python": "${workspaceFolder:service_B}\\.venv\\Scripts\\python.exe"
        }
      }
    ]
  },
  "settings": {
    "files.exclude": {
      "service_A": true,
      "service_B": true
      // "company_python": true,
    },
    "search.exclude": {
      "service_A": true,
      "service_B": true
      // "company_python": true,
    },
    "python.analysis.extraPaths": [
      "${workspaceFolder:root}/company_python"
    ],
    "python.autoComplete.extraPaths": [
      "${workspaceFolder:root}/company_python"
    ]
  }
}

The lines that are important are:

"python": "${workspaceFolder:service_A}/.venv/bin/python",

When I hover over this, it hints at the following:
Image

However, when I launch the debug configuration for either service_A or service_B, it does not use the path I configured in monorepo.code-workspace. Instead, VS Code look at which file is currently open, and checks which interpreter is configured 'locally'.

Image

Even when I clear all settings regarding the interpreters, it still does not use the interpreter that I have configured in the debug launch config.

Steps to Reproduce:

  1. Use the monorepo.code-workspace that I provided above.
  2. Create a .venv for both service_A and service_B.
  3. To make sure this bug occurs, select the correct interpreters for both folders using the command Python: Select Interpreter as shown in the screenshot above.
  4. Have a .py file open that lives in the folder of service_B.
  5. Start the debug configuration for service_A.
  6. Check the integrated terminal to see that the debugger looks at the .venv of service_B.

Guía de contribución

Abrir la guía de contribución

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Evaluación

Este issue todavía no se ha evaluado.

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.