Change:
<!-- Do Not Delete This! featurerequesttemplate --<!-- Please read our Rules of Conduct: --<!-- Please search existing issues to avoid creating duplicates. --<!-- Describe the feature you'd like. --I have merged the debug console, variables and watch panels at the bottom. ! I have also debug.console.closeOnEnd active. If I stop the debugger the debug console collapes instead of closing the whole bottom panel ! (If debug console is the only panel the whole bottom area closes.) I' not sure if the behaviour is a bug or by design? Or is there already a setting to control this? Otherwise a settings would be great if it should be collapsed or closed. What I want to have is more a less: on debug start to open the bottom with all debug panels side-by-side and on exit debug to close the whole bottom area. I already use "debug.internalConsoleOptions" with "openOnSessionStart" and "debug.console.closeOnEnd" Side note: I'm not too happy with the Run and Debug area on the left side, because after debugging I have to switch back to Explorer view and I'm constantly resizing the left side, because for debug the width is too small and for explorer then it is too wide.
Fair feature request, it feels weird to hide other unrelated views as a result of this setting, but the user opted in to it and I can't imagine anyone actually wants the current behavior. currently I call . If I want to close the panel here, is there a way to find the parent view container and call ? Yeah, currently it can't be moved. Sorry, currently the explorer and debug views currently can't be moved to the secondary side bar
you can use the to get any information you need. e.g. the ViewContainer will tell you its in Debug. The View Container Location can tell you which Part it is in.
Thanks. I'm confused about what I'm seeing though. I think I want to check whether the Debug Console view is inside the Debug Console view container (and not the debug sidebar or somewhere else). So I call and get back a View Container that has this id: but I registered the view container with the id , that happened here: Am I doing something wrong? I see another view container in the ViewContainersRegister (this is ) <img width="560" alt="image" src="https://user-"
please and try reproducing again. The container id that you see suggests that you're debug panel view has been moved out of its original container.
It works after that. But then I rearrange views a little more and it gets the ID with the GUID again. It looks like this but I'm getting the guid view container id. ! I'm not sure whether it matters though, I guess I'm still trying to decide what the behavior should be. do you think that the full panel should always close in this case? If I drag the debug console into the problems panel, should it close? Only when the title of the panel is Debug Console?
if you for example drag the debug console to the right of the problems panel the tab is labeled "problems", dragged to the left its called "debug console" If you check for the tab title the usability gets a little bit complicated: To achieve what the settings suggest, you have to make sure the debug console is placed in a way that the tab reflect its name (in other words it must be the first on the left). Also this would be also a brittle implementation, if the tab naming logic or display text changes in the future. For this two reasons I would not use the title of the panel. I would close the bottom panel if the debug console is a visible child of the active panel (or if debug console is the only active panel [nothing grouped together] ) In your example, if the setting is active and you drag debug console into the problems, the whole panel should close.
I think we can just go with the logic of closing whatever view container the debug console is currently in. Makes sense to keep it simple because the user configured their views this way, and they changed the default of the setting to close the debug console, and if they don't like it they can reset that setting. Also consistent with the existing internalConsoleOptions setting which can show the debug console on session start, wherever it is.

Discussion:
const dataBreakpoints = this.model.getDataBreakpoints().filter(dbp => !dbp.canPersist); dataBreakpoints.forEach(dbp => this.model.removeDataBreakpoints(dbp.getId())); <del> if (this.viewsService.isViewVisible(REPL_VIEW_ID) && this.configurationService.getValue<IDebugConfiguration>('debug').console.closeOnEnd) { this.viewsService.closeView(REPL_VIEW_ID); </del> <ins> if (this.configurationService.getValue<IDebugConfiguration>('debug').console.closeOnEnd) { const debugConsoleContainer = this.viewDescriptorService.getViewContainerByViewId(REPL_VIEW_ID); if (debugConsoleContainer && this.viewsService.isViewContainerVisible(debugConsoleContainer.id)) { this.viewsService.closeViewContainer(debugConsoleContainer.id); } </ins> } } }));