microsoft / microsoft/vscode-python-debugger
Debug launch configuration doesn't override Python interpreter
@eleanorjboyd がすでに取り組んでいます。
2025年11月10日 から。
- 主要言語
- TypeScript
- スター
- 181
- フォーク
- 126
- 平均マージ
- 2日 3時間
- マージ済み PR(30日)
- 3
説明
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:
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'.
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:
- Use the
monorepo.code-workspacethat I provided above. - Create a
.venvfor bothservice_Aandservice_B. - To make sure this bug occurs, select the correct interpreters for both folders using the command
Python: Select Interpreteras shown in the screenshot above. - Have a .py file open that lives in the folder of
service_B. - Start the debug configuration for
service_A. - Check the integrated terminal to see that the debugger looks at the
.venvofservice_B.
コントリビューションガイド
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
評価
この issue はまだ評価されていません。