forked from DonJayamanne/pythonVSCode
-
Notifications
You must be signed in to change notification settings - Fork 1.2k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Opt out of process tree compacting #12595
Comments
int19h
added
bug
Issue identified by VS Code Team member as probable bug
triage-needed
Needs assignment to the proper sub-team
labels
Jun 26, 2020
How to opt out: |
int19h
changed the title
Opt out of process tree compacting in VSCode
Opt out of process tree compacting
Jun 26, 2020
int19h
added a commit
to int19h/vscode-python
that referenced
this issue
Jul 1, 2020
Change IDebugService.startDebugging() to use DebugSessionOptions. Use {noCompact: true} option for child sessions.
int19h
added a commit
to int19h/vscode-python
that referenced
this issue
Jul 1, 2020
Change IDebugService.startDebugging() to use DebugSessionOptions. Use {noCompact: true} option for child sessions.
10 tasks
int19h
added a commit
to int19h/vscode-python
that referenced
this issue
Jul 1, 2020
Change IDebugService.startDebugging() to use DebugSessionOptions. Use {noCompact: true} option for child sessions.
int19h
added a commit
to int19h/vscode-python
that referenced
this issue
Jul 2, 2020
Change IDebugService.startDebugging() to use DebugSessionOptions. Use {noCompact: true} option for child sessions.
No longer needed. |
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
See microsoft/vscode#99736 for details on process tree compacting. Note that this is already in VSCode Insiders.
TL;DR is that when there are multiple debug sessions in a parent/child chain where each session has exactly one child (except for the last one that has none), VSCode is going to start combining them into a single logical session item in the Call Stack window. That item has title coming from the root session, but all debug controls are applied to the child session. Furthermore, the hovering debug toolbar also reflects the child session.
This is a problem wrt Stop/Disconnect in particular, because in Python multiproc, all child sessions are "attach" (even if the root was "launch"), and thus would show Disconnect rather than Stop. The floating toolbar thus also shows Disconnect. And having a parent session with a single child is the most common multiproc scenario for us, because that's exactly what Django and Flask do with auto-reloading enabled.
(Before this VSCode change, the floating toolbar would correspond to the current selection in Call Stack - if parent session is selected, then it'd show Stop. In addition, since sessions would each have a separate item in Call Stack, each item would have its own inline mini-toolbar there.)
There's a feature request on VSCode to provide the ability for the extension to specify which session should be "in charge" of Stop/Disconnect: microsoft/vscode#101140. However, until that feature is implemented, we should opt out from compacting, so that web app debugging experience does not regress for our users.
The text was updated successfully, but these errors were encountered: