From 56fc560e1d2a25b42c176e136bd0b303dee51ee9 Mon Sep 17 00:00:00 2001 From: SteVen Batten Date: Fri, 15 May 2020 13:26:02 -0700 Subject: [PATCH] reset default container location when hidden --- src/vs/workbench/browser/parts/views/viewsService.ts | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/src/vs/workbench/browser/parts/views/viewsService.ts b/src/vs/workbench/browser/parts/views/viewsService.ts index 320ef789ea4..fbce01f7e0a 100644 --- a/src/vs/workbench/browser/parts/views/viewsService.ts +++ b/src/vs/workbench/browser/parts/views/viewsService.ts @@ -202,6 +202,15 @@ export class ViewsService extends Disposable implements IViewsService { } run(accessor: ServicesAccessor): void { const viewDescriptorService = accessor.get(IViewDescriptorService); + const defaultContainer = viewDescriptorService.getDefaultContainerById(viewDescriptor.id)!; + const containerModel = viewDescriptorService.getViewContainerModel(defaultContainer)!; + + // The default container is hidden so we should try to reset its location first + if (defaultContainer.hideIfEmpty && containerModel.visibleViewDescriptors.length === 0) { + const defaultLocation = viewDescriptorService.getDefaultViewContainerLocation(defaultContainer)!; + viewDescriptorService.moveViewContainerToLocation(defaultContainer, defaultLocation); + } + viewDescriptorService.moveViewsToContainer([viewDescriptor], viewDescriptorService.getDefaultContainerById(viewDescriptor.id)!); accessor.get(IViewsService).openView(viewDescriptor.id, true); } -- GitLab