diff --git a/src/vs/workbench/browser/actions/layoutActions.ts b/src/vs/workbench/browser/actions/layoutActions.ts index 71afb01acf927..685321b6b77d5 100644 --- a/src/vs/workbench/browser/actions/layoutActions.ts +++ b/src/vs/workbench/browser/actions/layoutActions.ts @@ -903,6 +903,7 @@ abstract class BaseResizeViewAction extends Action2 { const isEditorFocus = layoutService.hasFocus(Parts.EDITOR_PART); const isSidebarFocus = layoutService.hasFocus(Parts.SIDEBAR_PART); const isPanelFocus = layoutService.hasFocus(Parts.PANEL_PART); + const isAuxiliaryBarFocus = layoutService.hasFocus(Parts.AUXILIARYBAR_PART); if (isSidebarFocus) { part = Parts.SIDEBAR_PART; @@ -910,6 +911,8 @@ abstract class BaseResizeViewAction extends Action2 { part = Parts.PANEL_PART; } else if (isEditorFocus) { part = Parts.EDITOR_PART; + } else if (isAuxiliaryBarFocus) { + part = Parts.AUXILIARYBAR_PART; } } else { part = partToResize; diff --git a/src/vs/workbench/browser/actions/navigationActions.ts b/src/vs/workbench/browser/actions/navigationActions.ts index d963f97c00dcd..86fca131e3fba 100644 --- a/src/vs/workbench/browser/actions/navigationActions.ts +++ b/src/vs/workbench/browser/actions/navigationActions.ts @@ -35,6 +35,7 @@ abstract class BaseNavigationAction extends Action { const isEditorFocus = this.layoutService.hasFocus(Parts.EDITOR_PART); const isPanelFocus = this.layoutService.hasFocus(Parts.PANEL_PART); const isSidebarFocus = this.layoutService.hasFocus(Parts.SIDEBAR_PART); + const isAuxiliaryBarFocus = this.layoutService.hasFocus(Parts.AUXILIARYBAR_PART); let neighborPart: Parts | undefined; if (isEditorFocus) { @@ -54,6 +55,10 @@ abstract class BaseNavigationAction extends Action { neighborPart = this.layoutService.getVisibleNeighborPart(Parts.SIDEBAR_PART, this.direction); } + if (isAuxiliaryBarFocus) { + neighborPart = neighborPart = this.layoutService.getVisibleNeighborPart(Parts.AUXILIARYBAR_PART, this.direction); + } + if (neighborPart === Parts.EDITOR_PART) { if (!this.navigateBackToEditorGroup(this.toGroupDirection(this.direction))) { this.navigateToEditorGroup(this.direction === Direction.Right ? GroupLocation.FIRST : GroupLocation.LAST); @@ -62,6 +67,8 @@ abstract class BaseNavigationAction extends Action { this.navigateToSidebar(); } else if (neighborPart === Parts.PANEL_PART) { this.navigateToPanel(); + } else if (neighborPart === Parts.AUXILIARYBAR_PART) { + this.navigateToAuxiliaryBar(); } } @@ -100,6 +107,26 @@ abstract class BaseNavigationAction extends Action { return !!viewlet; } + private async navigateToAuxiliaryBar(): Promise { + if (!this.layoutService.isVisible(Parts.AUXILIARYBAR_PART)) { + return false; + } + + const activePanel = this.paneCompositeService.getActivePaneComposite(ViewContainerLocation.AuxiliaryBar); + if (!activePanel) { + return false; + } + + const activePanelId = activePanel.getId(); + + const res = await this.paneCompositeService.openPaneComposite(activePanelId, ViewContainerLocation.AuxiliaryBar, true); + if (!res) { + return false; + } + + return res; + } + private navigateAcrossEditorGroup(direction: GroupDirection): boolean { return this.doNavigateToEditorGroup({ direction }); }