提交 fd50f1fa 编写于 作者: B Benjamin Pasero

grid - open empty group instead of artifically copying over editor from active group

上级 bc57e564
...@@ -42,43 +42,23 @@ export class ExecuteCommandAction extends Action { ...@@ -42,43 +42,23 @@ export class ExecuteCommandAction extends Action {
} }
} }
export class BaseSplitEditorGroupAction extends Action { export class SplitEditorAction 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<any> {
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 {
public static readonly ID = 'workbench.action.splitEditor'; public static readonly ID = 'workbench.action.splitEditor';
public static readonly LABEL = nls.localize('splitEditor', "Split Editor"); public static readonly LABEL = nls.localize('splitEditor', "Split Editor");
private toDispose: IDisposable[] = []; private toDispose: IDisposable[] = [];
private direction: GroupDirection;
constructor( constructor(
id: string, id: string,
label: string, label: string,
@IEditorGroupsService editorGroupService: IEditorGroupsService, @IEditorGroupsService private editorGroupService: IEditorGroupsService,
@IConfigurationService private configurationService: IConfigurationService @IConfigurationService private configurationService: IConfigurationService
) { ) {
super(id, label, null, preferredSideBySideGroupDirection(configurationService), editorGroupService); super(id, label);
this.direction = preferredSideBySideGroupDirection(configurationService);
this.registerListeners(); this.registerListeners();
} }
...@@ -92,7 +72,7 @@ export class SplitEditorAction extends BaseSplitEditorGroupAction { ...@@ -92,7 +72,7 @@ export class SplitEditorAction extends BaseSplitEditorGroupAction {
} }
public run(context?: IEditorIdentifier): TPromise<any> { public run(context?: IEditorIdentifier): TPromise<any> {
this.splitEditor(context ? context.groupId : void 0); splitEditor(this.editorGroupService, this.direction, context);
return TPromise.as(true); return TPromise.as(true);
} }
......
...@@ -429,9 +429,7 @@ function registerOpenEditorAtIndexCommands(): void { ...@@ -429,9 +429,7 @@ function registerOpenEditorAtIndexCommands(): void {
function registerFocusEditorGroupAtIndexCommands(): void { function registerFocusEditorGroupAtIndexCommands(): void {
// Keybindings to focus a specific group (2-8) in the editor area // Keybindings to focus a specific group (2-8) in the editor area
for (let i = 1; i < 8; i++) { for (let groupIndex = 1; groupIndex < 8; groupIndex++) {
const groupIndex = i;
KeybindingsRegistry.registerCommandAndKeybindingRule({ KeybindingsRegistry.registerCommandAndKeybindingRule({
id: toCommandId(groupIndex), id: toCommandId(groupIndex),
weight: KeybindingsRegistry.WEIGHT.workbenchContrib(), weight: KeybindingsRegistry.WEIGHT.workbenchContrib(),
...@@ -459,12 +457,6 @@ function registerFocusEditorGroupAtIndexCommands(): void { ...@@ -459,12 +457,6 @@ function registerFocusEditorGroupAtIndexCommands(): void {
const lastGroup = editorGroupService.findGroup({ location: GroupLocation.LAST }); const lastGroup = editorGroupService.findGroup({ location: GroupLocation.LAST });
const newGroup = editorGroupService.addGroup(lastGroup, direction); 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 // Focus
newGroup.focus(); newGroup.focus();
} }
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册