Skip to content
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

Closed
int19h opened this issue Jun 26, 2020 · 2 comments
Closed

Opt out of process tree compacting #12595

int19h opened this issue Jun 26, 2020 · 2 comments
Assignees
Labels
bug Issue identified by VS Code Team member as probable bug important Issue identified as high-priority

Comments

@int19h
Copy link

int19h commented Jun 26, 2020

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.

@int19h 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
@int19h
Copy link
Author

int19h commented Jun 26, 2020

How to opt out:
microsoft/vscode#100852

@int19h int19h changed the title Opt out of process tree compacting in VSCode Opt out of process tree compacting Jun 26, 2020
@karthiknadig karthiknadig added needs PR important Issue identified as high-priority labels Jun 29, 2020
@ghost ghost removed the triage-needed Needs assignment to the proper sub-team label Jun 29, 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.
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.
@int19h
Copy link
Author

int19h commented Jul 7, 2020

No longer needed.

@int19h int19h closed this as completed Jul 7, 2020
@ghost ghost removed the needs PR label Jul 7, 2020
@github-actions github-actions bot locked as resolved and limited conversation to collaborators Oct 13, 2021
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
bug Issue identified by VS Code Team member as probable bug important Issue identified as high-priority
Projects
None yet
Development

No branches or pull requests

3 participants