Skip to content

Commit cf94c5d

Browse files
authored
Merge pull request microsoft#196553 from microsoft/benibenj/toggleMaximizeCommand
Add editor group maximize toggle action
2 parents 3e22fd4 + 5a4c59f commit cf94c5d

File tree

3 files changed

+28
-14
lines changed

3 files changed

+28
-14
lines changed

src/vs/workbench/browser/parts/editor/editor.contribution.ts

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@ import {
4141
ReOpenInTextEditorAction, DuplicateGroupDownAction, DuplicateGroupLeftAction, DuplicateGroupRightAction, DuplicateGroupUpAction, ToggleEditorTypeAction, SplitEditorToAboveGroupAction, SplitEditorToBelowGroupAction,
4242
SplitEditorToFirstGroupAction, SplitEditorToLastGroupAction, SplitEditorToLeftGroupAction, SplitEditorToNextGroupAction, SplitEditorToPreviousGroupAction, SplitEditorToRightGroupAction, NavigateForwardInEditsAction,
4343
NavigateBackwardsInEditsAction, NavigateForwardInNavigationsAction, NavigateBackwardsInNavigationsAction, NavigatePreviousInNavigationsAction, NavigatePreviousInEditsAction, NavigateToLastNavigationLocationAction,
44-
MaximizeGroupHideSidebarAction, UnmaximizeEditorGroupAction, ExperimentalMoveEditorIntoNewWindowAction
44+
MaximizeGroupHideSidebarAction, UnmaximizeEditorGroupAction, ExperimentalMoveEditorIntoNewWindowAction, ToggleMaximizeEditorGroupAction
4545
} from 'vs/workbench/browser/parts/editor/editorActions';
4646
import {
4747
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);
215215
registerAction2(ResetGroupSizesAction);
216216
registerAction2(ToggleGroupSizesAction);
217217
registerAction2(MaximizeGroupAction);
218-
registerAction2(UnmaximizeEditorGroupAction);
219218
registerAction2(MaximizeGroupHideSidebarAction);
219+
registerAction2(UnmaximizeEditorGroupAction);
220+
registerAction2(ToggleMaximizeEditorGroupAction);
220221
registerAction2(MinimizeOtherGroupsAction);
221222

222223
registerAction2(MoveEditorLeftInGroupAction);

src/vs/workbench/browser/parts/editor/editorActions.ts

Lines changed: 24 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ import { IWorkbenchLayoutService, Parts } from 'vs/workbench/services/layout/bro
1313
import { GoFilter, IHistoryService } from 'vs/workbench/services/history/common/history';
1414
import { IKeybindingService } from 'vs/platform/keybinding/common/keybinding';
1515
import { ICommandService } from 'vs/platform/commands/common/commands';
16-
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';
16+
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';
1717
import { IEditorGroupsService, IEditorGroup, GroupsArrangement, GroupLocation, GroupDirection, preferredSideBySideGroupDirection, IFindGroupScope, GroupOrientation, EditorGroupLayout, GroupsOrder } from 'vs/workbench/services/editor/common/editorGroupsService';
1818
import { IEditorService } from 'vs/workbench/services/editor/common/editorService';
1919
import { IConfigurationService } from 'vs/platform/configuration/common/configuration';
@@ -1070,13 +1070,8 @@ export class MaximizeGroupAction extends Action2 {
10701070
super({
10711071
id: MAXIMIZE_EDITOR_GROUP,
10721072
title: { value: localize('maximizeEditor', "Maximize Editor Group"), original: 'Maximize Editor Group' },
1073-
f1: true,
10741073
category: Categories.View,
1075-
precondition: ContextKeyExpr.and(MaximizedEditorGroupContext.negate(), MultipleEditorGroupsContext),
1076-
keybinding: {
1077-
weight: KeybindingWeight.WorkbenchContrib,
1078-
primary: KeyChord(KeyMod.CtrlCmd | KeyCode.KeyK, KeyMod.CtrlCmd | KeyCode.KeyM),
1079-
}
1074+
precondition: ContextKeyExpr.and(MaximizedEditorGroupContext.negate(), MultipleEditorGroupsContext)
10801075
});
10811076
}
10821077

@@ -1118,13 +1113,8 @@ export class UnmaximizeEditorGroupAction extends Action2 {
11181113
super({
11191114
id: UNMAXIMIZE_EDITOR_GROUP,
11201115
title: { value: localize('UnmaximizeEditorGroup', "Unmaximize Editor Group"), original: 'Unmaximize Editor Group' },
1121-
f1: true,
11221116
category: Categories.View,
11231117
precondition: MaximizedEditorGroupContext,
1124-
keybinding: {
1125-
weight: KeybindingWeight.WorkbenchContrib,
1126-
primary: KeyChord(KeyMod.CtrlCmd | KeyCode.KeyK, KeyMod.CtrlCmd | KeyCode.KeyM),
1127-
},
11281118
menu: [{
11291119
id: MenuId.EditorTitle,
11301120
order: -10000, // towards the front
@@ -1148,6 +1138,28 @@ export class UnmaximizeEditorGroupAction extends Action2 {
11481138
}
11491139
}
11501140

1141+
export class ToggleMaximizeEditorGroupAction extends Action2 {
1142+
1143+
constructor() {
1144+
super({
1145+
id: TOGGLE_MAXIMIZE_EDITOR_GROUP,
1146+
title: { value: localize('toggleMaximizeEditorGroup', "Toggle Maximize Editor Group"), original: 'Toggle Maximize Editor Group' },
1147+
f1: true,
1148+
category: Categories.View,
1149+
precondition: ContextKeyExpr.or(MultipleEditorGroupsContext, MaximizedEditorGroupContext),
1150+
keybinding: {
1151+
weight: KeybindingWeight.WorkbenchContrib,
1152+
primary: KeyChord(KeyMod.CtrlCmd | KeyCode.KeyK, KeyMod.CtrlCmd | KeyCode.KeyM),
1153+
}
1154+
});
1155+
}
1156+
1157+
override async run(accessor: ServicesAccessor): Promise<void> {
1158+
const editorGroupService = accessor.get(IEditorGroupsService);
1159+
editorGroupService.toggleMaximizeGroup();
1160+
}
1161+
}
1162+
11511163
abstract class AbstractNavigateEditorAction extends Action2 {
11521164

11531165
override async run(accessor: ServicesAccessor): Promise<void> {

src/vs/workbench/browser/parts/editor/editorCommands.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -82,6 +82,7 @@ export const SPLIT_EDITOR_RIGHT = 'workbench.action.splitEditorRight';
8282

8383
export const MAXIMIZE_EDITOR_GROUP = 'workbench.action.maximizeEditorGroup';
8484
export const UNMAXIMIZE_EDITOR_GROUP = 'workbench.action.unmaximizeEditorGroup';
85+
export const TOGGLE_MAXIMIZE_EDITOR_GROUP = 'workbench.action.toggleMaximizeEditorGroup';
8586

8687
export const SPLIT_EDITOR_IN_GROUP = 'workbench.action.splitEditorInGroup';
8788
export const TOGGLE_SPLIT_EDITOR_IN_GROUP = 'workbench.action.toggleSplitEditorInGroup';

0 commit comments

Comments
 (0)