From fd50f1fa55071ad7f46c70558f7d2bbc28f5baa5 Mon Sep 17 00:00:00 2001 From: Benjamin Pasero Date: Thu, 24 May 2018 15:09:49 +0200 Subject: [PATCH] grid - open empty group instead of artifically copying over editor from active group --- .../browser/parts/editor/editorActions.ts | 34 ++++--------------- .../browser/parts/editor/editorCommands.ts | 10 +----- 2 files changed, 8 insertions(+), 36 deletions(-) diff --git a/src/vs/workbench/browser/parts/editor/editorActions.ts b/src/vs/workbench/browser/parts/editor/editorActions.ts index e7865e9b483..adb3fdd3496 100644 --- a/src/vs/workbench/browser/parts/editor/editorActions.ts +++ b/src/vs/workbench/browser/parts/editor/editorActions.ts @@ -42,43 +42,23 @@ export class ExecuteCommandAction extends Action { } } -export class BaseSplitEditorGroupAction extends Action { - - constructor( - id: string, - label: string, - clazz: string, - protected direction: GroupDirection, - private editorGroupService: IEditorGroupsService - ) { - super(id, label, clazz); - } - - public run(context?: IEditorIdentifier & { event?: Event }): TPromise { - this.splitEditor(context ? context.groupId : void 0); - - return TPromise.as(true); - } - - protected splitEditor(groupId?: number): void { - splitEditor(this.editorGroupService, this.direction, { groupId }); - } -} - -export class SplitEditorAction extends BaseSplitEditorGroupAction { +export class SplitEditorAction extends Action { public static readonly ID = 'workbench.action.splitEditor'; public static readonly LABEL = nls.localize('splitEditor', "Split Editor"); private toDispose: IDisposable[] = []; + private direction: GroupDirection; constructor( id: string, label: string, - @IEditorGroupsService editorGroupService: IEditorGroupsService, + @IEditorGroupsService private editorGroupService: IEditorGroupsService, @IConfigurationService private configurationService: IConfigurationService ) { - super(id, label, null, preferredSideBySideGroupDirection(configurationService), editorGroupService); + super(id, label); + + this.direction = preferredSideBySideGroupDirection(configurationService); this.registerListeners(); } @@ -92,7 +72,7 @@ export class SplitEditorAction extends BaseSplitEditorGroupAction { } public run(context?: IEditorIdentifier): TPromise { - this.splitEditor(context ? context.groupId : void 0); + splitEditor(this.editorGroupService, this.direction, context); return TPromise.as(true); } diff --git a/src/vs/workbench/browser/parts/editor/editorCommands.ts b/src/vs/workbench/browser/parts/editor/editorCommands.ts index 8b1c2504c7a..41d33767244 100644 --- a/src/vs/workbench/browser/parts/editor/editorCommands.ts +++ b/src/vs/workbench/browser/parts/editor/editorCommands.ts @@ -429,9 +429,7 @@ function registerOpenEditorAtIndexCommands(): void { function registerFocusEditorGroupAtIndexCommands(): void { // Keybindings to focus a specific group (2-8) in the editor area - for (let i = 1; i < 8; i++) { - const groupIndex = i; - + for (let groupIndex = 1; groupIndex < 8; groupIndex++) { KeybindingsRegistry.registerCommandAndKeybindingRule({ id: toCommandId(groupIndex), weight: KeybindingsRegistry.WEIGHT.workbenchContrib(), @@ -459,12 +457,6 @@ function registerFocusEditorGroupAtIndexCommands(): void { const lastGroup = editorGroupService.findGroup({ location: GroupLocation.LAST }); const newGroup = editorGroupService.addGroup(lastGroup, direction); - // To keep backwards compatibility (pre-grid) we automatically copy the active editor - // of the last group over to the new group as long as it supports to be split. - if (lastGroup.activeEditor && (lastGroup.activeEditor as EditorInput).supportsSplitEditor()) { - lastGroup.copyEditor(lastGroup.activeEditor, newGroup); - } - // Focus newGroup.focus(); } -- GitLab