Change:
Code / Insiders All OS Part resize logic with one editor and panel. Editor with focus, just panel does not resize. To be clear and honest, this is my logic bug that actually is independent and pre-existing from the vertical panel addition. My issue not ;-) The bug is more obvious with vertical panel. Steps to Reproduce: code with one editor, panel open , sidebar hidden editor, try Increase/Decrease commands - editor does not resize panel, try resize - panel resizes correctly Testing : I know you guys are testing and working on panel issues. While not a panel issued directly this bug is more noticeable with vertical panel so your guys call on PR integration... Fixed with PR
thanks for pointing this out and thanks for providing a PR. However since this behavior is already there in stable and since there are a lot of moving parts currently in the panel area I will postpone this to November. When we can discuss on how to best fix this and then I can also review you PR. Hope that makes sense. Thanks
Yup. I will try to get the fix for command support with split windows for the same time.

Discussion:
// change part size along the main axis public resizePart(part: Parts, sizeChange: number): void { <del> const visibleEditors = this.editorService.getVisibleEditors().length; </del> <ins> const visibleEditorCount = this.editorService.getVisibleEditors().length; const panelPosition = this.partService.getPanelPosition(); </ins> const sizeChangePxWidth = this.workbenchSize.width * (sizeChange / 100); const sizeChangePxHeight = this.workbenchSize.height * (sizeChange / 100);

case Parts.SIDEBAR_PART: this.sidebarWidth = this.sidebarWidth + sizeChangePxWidth; // Sidebar can not become smaller than MIN_PART_WIDTH <del> if (this.layoutEditorGroupsVertically && (this.workbenchSize.width - this.sidebarWidth < visibleEditors * MIN_EDITOR_PART_WIDTH)) { this.sidebarWidth = (this.workbenchSize.width - visibleEditors * MIN_EDITOR_PART_WIDTH); </del> <ins> if (this.layoutEditorGroupsVertically && (this.workbenchSize.width - this.sidebarWidth < visibleEditorCount * MIN_EDITOR_PART_WIDTH)) { this.sidebarWidth = (this.workbenchSize.width - visibleEditorCount * MIN_EDITOR_PART_WIDTH); </ins> } doLayout = true; break; case Parts.PANEL_PART: <del> this.panelHeight = this.panelHeight + sizeChangePxHeight; this.panelWidth = this.panelWidth + sizeChangePxWidth; </del> <ins> if (panelPosition === Position.BOTTOM) { this.panelHeight = this.panelHeight + sizeChangePxHeight; } else if (panelPosition === Position.RIGHT) { this.panelWidth = this.panelWidth + sizeChangePxWidth; } </ins> doLayout = true; break; case Parts.EDITOR_PART: // If we have one editor we can cheat and resize sidebar with the negative delta <del> const visibleEditorCount = this.editorService.getVisibleEditors().length; </del> <ins> // If the sidebar is not visible and panel is, resize panel main axis with negative Delta </ins> if (visibleEditorCount === 1) { <del> this.sidebarWidth = this.sidebarWidth - sizeChangePxWidth; doLayout = true; </del> <ins> if (this.partService.isVisible(Parts.SIDEBAR_PART)) { this.sidebarWidth = this.sidebarWidth - sizeChangePxWidth; doLayout = true; } else if (this.partService.isVisible(Parts.PANEL_PART)) { if (panelPosition === Position.BOTTOM) { this.panelHeight = this.panelHeight - sizeChangePxHeight; } else if (panelPosition === Position.RIGHT) { this.panelWidth = this.panelWidth - sizeChangePxWidth; } doLayout = true; } </ins> } else { const stacks = this.editorGroupService.getStacksModel(); const activeGroup = stacks.positionOfGroup(stacks.activeGroup);