diff --git a/src/vs/workbench/browser/parts/editor/editor.ts b/src/vs/workbench/browser/parts/editor/editor.ts index 673560b01ed..fa22f92f1ee 100644 --- a/src/vs/workbench/browser/parts/editor/editor.ts +++ b/src/vs/workbench/browser/parts/editor/editor.ts @@ -42,6 +42,7 @@ export const DEFAULT_EDITOR_PART_OPTIONS: IEditorPartOptions = { splitSizing: 'auto', splitOnDragAndDrop: true, centeredLayoutFixedWidth: false, + doubleClickTabToToggleEditorGroupSizes: true, }; export function impactsEditorPartOptions(event: IConfigurationChangeEvent): boolean { diff --git a/src/vs/workbench/browser/parts/editor/tabsTitleControl.ts b/src/vs/workbench/browser/parts/editor/tabsTitleControl.ts index 424e909fa71..4e2404a669a 100644 --- a/src/vs/workbench/browser/parts/editor/tabsTitleControl.ts +++ b/src/vs/workbench/browser/parts/editor/tabsTitleControl.ts @@ -956,7 +956,9 @@ export class TabsTitleControl extends TitleControl { const editor = this.group.getEditorByIndex(index); if (editor && this.group.isPinned(editor)) { - this.accessor.arrangeGroups(GroupsArrangement.TOGGLE, this.group); + if (this.accessor.partOptions.doubleClickTabToToggleEditorGroupSizes) { + this.accessor.arrangeGroups(GroupsArrangement.TOGGLE, this.group); + } } else { this.group.pinEditor(editor); } diff --git a/src/vs/workbench/browser/workbench.contribution.ts b/src/vs/workbench/browser/workbench.contribution.ts index 62ebb83a89d..a0db7582097 100644 --- a/src/vs/workbench/browser/workbench.contribution.ts +++ b/src/vs/workbench/browser/workbench.contribution.ts @@ -282,6 +282,11 @@ const registry = Registry.as(ConfigurationExtensions.Con 'default': false, 'description': localize('centeredLayoutDynamicWidth', "Controls whether the centered layout tries to maintain constant width when the window is resized.") }, + 'workbench.editor.doubleClickTabToToggleEditorGroupSizes': { + 'type': 'boolean', + 'default': true, + 'markdownDescription': localize({ comment: ['This is the description for a setting. Values surrounded by single quotes are not to be translated.'], key: 'doubleClickTabToToggleEditorGroupSizes' }, "Controls whether to maximize/restore the editor group when double clicking on a tab. This value is ignored when `#workbench.editor.showTabs#` is disabled.") + }, 'workbench.editor.limit.enabled': { 'type': 'boolean', 'default': false, diff --git a/src/vs/workbench/common/editor.ts b/src/vs/workbench/common/editor.ts index 6525e82b08d..601c0d94100 100644 --- a/src/vs/workbench/common/editor.ts +++ b/src/vs/workbench/common/editor.ts @@ -1116,6 +1116,7 @@ interface IEditorPartConfiguration { splitSizing?: 'auto' | 'split' | 'distribute'; splitOnDragAndDrop?: boolean; centeredLayoutFixedWidth?: boolean; + doubleClickTabToToggleEditorGroupSizes?: boolean; limit?: { enabled?: boolean; excludeDirty?: boolean;