diff --git a/src/vs/workbench/browser/parts/panel/panelPart.ts b/src/vs/workbench/browser/parts/panel/panelPart.ts index 356ce9228e9..9f5ee11b11f 100644 --- a/src/vs/workbench/browser/parts/panel/panelPart.ts +++ b/src/vs/workbench/browser/parts/panel/panelPart.ts @@ -87,7 +87,18 @@ export abstract class BasePanelPart extends CompositePart impleme } get preferredWidth(): number | undefined { - return this.layoutService.dimension.width * 0.4; + const activeComposite = this.getActivePaneComposite(); + + if (!activeComposite) { + return; + } + + const width = activeComposite.getOptimalWidth(); + if (typeof width !== 'number') { + return; + } + + return Math.max(width, 300); } //#endregion