Support multiple debug sessions within the same workspace
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 5/5
- Tempo stimato
- Più di una settimana
- Idoneità per principianti
- 35/100
- Tipo di issue
- Funzionalità
- Chiarezza
- Abbastanza chiara
- Stato di attività
- Tranquilla
- Stack tecnologico
- typescript
- Ambito
- devtools
Direzione di ricerca
Inizia individuando le implementazioni TypeScript di stop_debugging e restart_debugging, quindi esamina il routing del workspace aggiunto da PR #104 e la gestione di configurationName in launch.json. Confronta le opzioni sessionId e list_debug_sessions descritte qui; il lavoro è completato quando le sessioni in un workspace possono essere identificate e arrestate o riavviate senza ambiguità.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Problem
DebugMCP supports selecting a launch.json configuration when starting a debug session via configurationName.
However, when multiple debug sessions are running within the same VS Code workspace, stop_debugging and restart_debugging provide no way to specify which session they should operate on.
For example, a launch.json may contain two configurations:
- Admin site
- Customer site
Both configurations use the exact same:
programcwd
but have different environment variables, such as APPLICATION_DOMAIN and HTTP_PORT.
Therefore, once both sessions are running, there is no unambiguous way for stop_debugging or restart_debugging to target one of them.
Relation to #25 / #104
This does not appear to be a duplicate of #25.
PR #104 added support for concurrent debug sessions across different VS Code windows/workspaces by routing requests to the appropriate workspace.
This issue is about a different level of concurrency: multiple debug sessions within the same workspace.
Workspace-level routing therefore isn't sufficient to distinguish the sessions.
Possible solution
One option would be to expose a debug session identifier and allow operations such as:
stop_debugging(sessionId)
restart_debugging(sessionId)
However, the MCP client should not necessarily be expected to already know the session ID. A debug session may have been started manually in VS Code, or by another client/session.
A list_debug_sessions operation could therefore expose the currently active debug sessions, including their identifiers and useful information such as the configuration name, program, and state. The client could then identify the appropriate session and use its sessionId when calling stop_debugging or restart_debugging.
For example:
list_debug_sessions()
↓
[
{ id: "abc", configurationName: "Admin site", ... },
{ id: "def", configurationName: "Customer site", ... }
]
↓
restart_debugging("def")
Alternatively, allowing stop_debugging / restart_debugging to directly target a configurationName could address the common launch.json use case, although a session ID would be more robust when multiple instances of the same configuration are running.
Thanks!
- Lingua principale
- TypeScript
- Stelle
- 511
- Fork
- 60
- Merge medio
- 2g 1h
- PR unite (30g)
- 18
Guida per i contributori
Apri la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di microsoft/DebugMCP
-
Difficoltà 5/5 Più di una settimana Idoneità per principianti 35/100
-
Difficoltà 5/5 Più di una settimana Idoneità per principianti 35/100
-
Difficoltà 4/5 3-5 giorni Idoneità per principianti 35/100
-
Difficoltà 3/5 1-2 giorni Idoneità per principianti 45/100
-
Difficoltà 4/5 3-5 giorni Idoneità per principianti 48/100
Tutte le issue di microsoft/DebugMCP
Issue simili
-
VerificationGate: ATTRIBUTION quote guard never matches a normal quotation (\b around the quote) Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
danielmiessler/LifeOS#2234 ·
-
T: Bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 65/100
-
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 85/100
-
Mend: dependency security vulnerability untriaged
Difficoltà 2/5 1-3 ore Idoneità per principianti 70/100