mirror of
https://github.com/microsoft/vscode.git
synced 2026-08-25 18:46:06 +01:00
Merge pull request #196553 from microsoft/benibenj/toggleMaximizeCommand
Add editor group maximize toggle action
This commit is contained in:
@@ -41,7 +41,7 @@ import {
|
||||
ReOpenInTextEditorAction, DuplicateGroupDownAction, DuplicateGroupLeftAction, DuplicateGroupRightAction, DuplicateGroupUpAction, ToggleEditorTypeAction, SplitEditorToAboveGroupAction, SplitEditorToBelowGroupAction,
|
||||
SplitEditorToFirstGroupAction, SplitEditorToLastGroupAction, SplitEditorToLeftGroupAction, SplitEditorToNextGroupAction, SplitEditorToPreviousGroupAction, SplitEditorToRightGroupAction, NavigateForwardInEditsAction,
|
||||
NavigateBackwardsInEditsAction, NavigateForwardInNavigationsAction, NavigateBackwardsInNavigationsAction, NavigatePreviousInNavigationsAction, NavigatePreviousInEditsAction, NavigateToLastNavigationLocationAction,
|
||||
MaximizeGroupHideSidebarAction, UnmaximizeEditorGroupAction, ExperimentalMoveEditorIntoNewWindowAction
|
||||
MaximizeGroupHideSidebarAction, UnmaximizeEditorGroupAction, ExperimentalMoveEditorIntoNewWindowAction, ToggleMaximizeEditorGroupAction
|
||||
} from 'vs/workbench/browser/parts/editor/editorActions';
|
||||
import {
|
||||
CLOSE_EDITORS_AND_GROUP_COMMAND_ID, CLOSE_EDITORS_IN_GROUP_COMMAND_ID, CLOSE_EDITORS_TO_THE_RIGHT_COMMAND_ID, CLOSE_EDITOR_COMMAND_ID, CLOSE_EDITOR_GROUP_COMMAND_ID, CLOSE_OTHER_EDITORS_IN_GROUP_COMMAND_ID,
|
||||
@@ -215,8 +215,9 @@ registerAction2(NavigateBetweenGroupsAction);
|
||||
registerAction2(ResetGroupSizesAction);
|
||||
registerAction2(ToggleGroupSizesAction);
|
||||
registerAction2(MaximizeGroupAction);
|
||||
registerAction2(UnmaximizeEditorGroupAction);
|
||||
registerAction2(MaximizeGroupHideSidebarAction);
|
||||
registerAction2(UnmaximizeEditorGroupAction);
|
||||
registerAction2(ToggleMaximizeEditorGroupAction);
|
||||
registerAction2(MinimizeOtherGroupsAction);
|
||||
|
||||
registerAction2(MoveEditorLeftInGroupAction);
|
||||
|
||||
@@ -13,7 +13,7 @@ import { IWorkbenchLayoutService, Parts } from 'vs/workbench/services/layout/bro
|
||||
import { GoFilter, IHistoryService } from 'vs/workbench/services/history/common/history';
|
||||
import { IKeybindingService } from 'vs/platform/keybinding/common/keybinding';
|
||||
import { ICommandService } from 'vs/platform/commands/common/commands';
|
||||
import { CLOSE_EDITOR_COMMAND_ID, MOVE_ACTIVE_EDITOR_COMMAND_ID, ActiveEditorMoveCopyArguments, SPLIT_EDITOR_LEFT, SPLIT_EDITOR_RIGHT, SPLIT_EDITOR_UP, SPLIT_EDITOR_DOWN, splitEditor, LAYOUT_EDITOR_GROUPS_COMMAND_ID, UNPIN_EDITOR_COMMAND_ID, COPY_ACTIVE_EDITOR_COMMAND_ID, SPLIT_EDITOR, UNMAXIMIZE_EDITOR_GROUP, MAXIMIZE_EDITOR_GROUP, resolveCommandsContext, getCommandsContext } from 'vs/workbench/browser/parts/editor/editorCommands';
|
||||
import { CLOSE_EDITOR_COMMAND_ID, MOVE_ACTIVE_EDITOR_COMMAND_ID, ActiveEditorMoveCopyArguments, SPLIT_EDITOR_LEFT, SPLIT_EDITOR_RIGHT, SPLIT_EDITOR_UP, SPLIT_EDITOR_DOWN, splitEditor, LAYOUT_EDITOR_GROUPS_COMMAND_ID, UNPIN_EDITOR_COMMAND_ID, COPY_ACTIVE_EDITOR_COMMAND_ID, SPLIT_EDITOR, UNMAXIMIZE_EDITOR_GROUP, MAXIMIZE_EDITOR_GROUP, resolveCommandsContext, getCommandsContext, TOGGLE_MAXIMIZE_EDITOR_GROUP } from 'vs/workbench/browser/parts/editor/editorCommands';
|
||||
import { IEditorGroupsService, IEditorGroup, GroupsArrangement, GroupLocation, GroupDirection, preferredSideBySideGroupDirection, IFindGroupScope, GroupOrientation, EditorGroupLayout, GroupsOrder } from 'vs/workbench/services/editor/common/editorGroupsService';
|
||||
import { IEditorService } from 'vs/workbench/services/editor/common/editorService';
|
||||
import { IConfigurationService } from 'vs/platform/configuration/common/configuration';
|
||||
@@ -1070,13 +1070,8 @@ export class MaximizeGroupAction extends Action2 {
|
||||
super({
|
||||
id: MAXIMIZE_EDITOR_GROUP,
|
||||
title: { value: localize('maximizeEditor', "Maximize Editor Group"), original: 'Maximize Editor Group' },
|
||||
f1: true,
|
||||
category: Categories.View,
|
||||
precondition: ContextKeyExpr.and(MaximizedEditorGroupContext.negate(), MultipleEditorGroupsContext),
|
||||
keybinding: {
|
||||
weight: KeybindingWeight.WorkbenchContrib,
|
||||
primary: KeyChord(KeyMod.CtrlCmd | KeyCode.KeyK, KeyMod.CtrlCmd | KeyCode.KeyM),
|
||||
}
|
||||
precondition: ContextKeyExpr.and(MaximizedEditorGroupContext.negate(), MultipleEditorGroupsContext)
|
||||
});
|
||||
}
|
||||
|
||||
@@ -1118,13 +1113,8 @@ export class UnmaximizeEditorGroupAction extends Action2 {
|
||||
super({
|
||||
id: UNMAXIMIZE_EDITOR_GROUP,
|
||||
title: { value: localize('UnmaximizeEditorGroup', "Unmaximize Editor Group"), original: 'Unmaximize Editor Group' },
|
||||
f1: true,
|
||||
category: Categories.View,
|
||||
precondition: MaximizedEditorGroupContext,
|
||||
keybinding: {
|
||||
weight: KeybindingWeight.WorkbenchContrib,
|
||||
primary: KeyChord(KeyMod.CtrlCmd | KeyCode.KeyK, KeyMod.CtrlCmd | KeyCode.KeyM),
|
||||
},
|
||||
menu: [{
|
||||
id: MenuId.EditorTitle,
|
||||
order: -10000, // towards the front
|
||||
@@ -1148,6 +1138,28 @@ export class UnmaximizeEditorGroupAction extends Action2 {
|
||||
}
|
||||
}
|
||||
|
||||
export class ToggleMaximizeEditorGroupAction extends Action2 {
|
||||
|
||||
constructor() {
|
||||
super({
|
||||
id: TOGGLE_MAXIMIZE_EDITOR_GROUP,
|
||||
title: { value: localize('toggleMaximizeEditorGroup', "Toggle Maximize Editor Group"), original: 'Toggle Maximize Editor Group' },
|
||||
f1: true,
|
||||
category: Categories.View,
|
||||
precondition: ContextKeyExpr.or(MultipleEditorGroupsContext, MaximizedEditorGroupContext),
|
||||
keybinding: {
|
||||
weight: KeybindingWeight.WorkbenchContrib,
|
||||
primary: KeyChord(KeyMod.CtrlCmd | KeyCode.KeyK, KeyMod.CtrlCmd | KeyCode.KeyM),
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
override async run(accessor: ServicesAccessor): Promise<void> {
|
||||
const editorGroupService = accessor.get(IEditorGroupsService);
|
||||
editorGroupService.toggleMaximizeGroup();
|
||||
}
|
||||
}
|
||||
|
||||
abstract class AbstractNavigateEditorAction extends Action2 {
|
||||
|
||||
override async run(accessor: ServicesAccessor): Promise<void> {
|
||||
|
||||
@@ -82,6 +82,7 @@ export const SPLIT_EDITOR_RIGHT = 'workbench.action.splitEditorRight';
|
||||
|
||||
export const MAXIMIZE_EDITOR_GROUP = 'workbench.action.maximizeEditorGroup';
|
||||
export const UNMAXIMIZE_EDITOR_GROUP = 'workbench.action.unmaximizeEditorGroup';
|
||||
export const TOGGLE_MAXIMIZE_EDITOR_GROUP = 'workbench.action.toggleMaximizeEditorGroup';
|
||||
|
||||
export const SPLIT_EDITOR_IN_GROUP = 'workbench.action.splitEditorInGroup';
|
||||
export const TOGGLE_SPLIT_EDITOR_IN_GROUP = 'workbench.action.toggleSplitEditorInGroup';
|
||||
|
||||
Reference in New Issue
Block a user