mirror of
https://github.com/Microsoft/vscode
synced 2024-09-13 21:55:38 +00:00
Move Edit menu registrations next to the actions (#54510)
This commit is contained in:
parent
d58a9f36f3
commit
f5494e1f74
|
@ -5,6 +5,7 @@
|
|||
|
||||
'use strict';
|
||||
|
||||
import * as nls from 'vs/nls';
|
||||
import { Position } from 'vs/editor/common/core/position';
|
||||
import { Range } from 'vs/editor/common/core/range';
|
||||
import * as editorCommon from 'vs/editor/common/editorCommon';
|
||||
|
@ -26,6 +27,7 @@ import { TypeOperations } from 'vs/editor/common/controller/cursorTypeOperations
|
|||
import { DeleteOperations } from 'vs/editor/common/controller/cursorDeleteOperations';
|
||||
import { VerticalRevealType } from 'vs/editor/common/view/viewEvents';
|
||||
import { ICodeEditor } from 'vs/editor/browser/editorBrowser';
|
||||
import { MenuId } from 'vs/platform/actions/common/actions';
|
||||
|
||||
const CORE_WEIGHT = KeybindingWeight.EditorCore;
|
||||
|
||||
|
@ -1721,6 +1723,12 @@ registerCommand(new EditorOrNativeTextInputCommand({
|
|||
weight: CORE_WEIGHT,
|
||||
kbExpr: EditorContextKeys.textInputFocus,
|
||||
primary: KeyMod.CtrlCmd | KeyCode.KEY_Z
|
||||
},
|
||||
menubarOpts: {
|
||||
menuId: MenuId.MenubarEditMenu,
|
||||
group: '1_do',
|
||||
title: nls.localize({ key: 'miUndo', comment: ['&& denotes a mnemonic'] }, "&&Undo"),
|
||||
order: 1
|
||||
}
|
||||
}));
|
||||
registerCommand(new EditorHandlerCommand('default:' + H.Undo, H.Undo));
|
||||
|
@ -1736,6 +1744,12 @@ registerCommand(new EditorOrNativeTextInputCommand({
|
|||
primary: KeyMod.CtrlCmd | KeyCode.KEY_Y,
|
||||
secondary: [KeyMod.CtrlCmd | KeyMod.Shift | KeyCode.KEY_Z],
|
||||
mac: { primary: KeyMod.CtrlCmd | KeyMod.Shift | KeyCode.KEY_Z }
|
||||
},
|
||||
menubarOpts: {
|
||||
menuId: MenuId.MenubarEditMenu,
|
||||
group: '1_do',
|
||||
title: nls.localize({ key: 'miRedo', comment: ['&& denotes a mnemonic'] }, "&&Redo"),
|
||||
order: 2
|
||||
}
|
||||
}));
|
||||
registerCommand(new EditorHandlerCommand('default:' + H.Redo, H.Redo));
|
||||
|
|
|
@ -17,6 +17,7 @@ import { CopyOptions } from 'vs/editor/browser/controller/textAreaInput';
|
|||
import { EditorContextKeys } from 'vs/editor/common/editorContextKeys';
|
||||
import { ICodeEditor } from 'vs/editor/browser/editorBrowser';
|
||||
import { KeybindingWeight } from 'vs/platform/keybinding/common/keybindingsRegistry';
|
||||
import { MenuId } from 'vs/platform/actions/common/actions';
|
||||
|
||||
const CLIPBOARD_CONTEXT_MENU_GROUP = '9_cutcopypaste';
|
||||
|
||||
|
@ -80,6 +81,12 @@ class ExecCommandCutAction extends ExecCommandAction {
|
|||
menuOpts: {
|
||||
group: CLIPBOARD_CONTEXT_MENU_GROUP,
|
||||
order: 1
|
||||
},
|
||||
menubarOpts: {
|
||||
menuId: MenuId.MenubarEditMenu,
|
||||
group: '2_ccp',
|
||||
title: nls.localize({ key: 'miCut', comment: ['&& denotes a mnemonic'] }, "Cu&&t"),
|
||||
order: 1
|
||||
}
|
||||
});
|
||||
}
|
||||
|
@ -119,6 +126,12 @@ class ExecCommandCopyAction extends ExecCommandAction {
|
|||
menuOpts: {
|
||||
group: CLIPBOARD_CONTEXT_MENU_GROUP,
|
||||
order: 2
|
||||
},
|
||||
menubarOpts: {
|
||||
menuId: MenuId.MenubarEditMenu,
|
||||
group: '2_ccp',
|
||||
title: nls.localize({ key: 'miCopy', comment: ['&& denotes a mnemonic'] }, "&&Copy"),
|
||||
order: 2
|
||||
}
|
||||
});
|
||||
}
|
||||
|
@ -158,6 +171,12 @@ class ExecCommandPasteAction extends ExecCommandAction {
|
|||
menuOpts: {
|
||||
group: CLIPBOARD_CONTEXT_MENU_GROUP,
|
||||
order: 3
|
||||
},
|
||||
menubarOpts: {
|
||||
menuId: MenuId.MenubarEditMenu,
|
||||
group: '2_ccp',
|
||||
title: nls.localize({ key: 'miPaste', comment: ['&& denotes a mnemonic'] }, "&&Paste"),
|
||||
order: 3
|
||||
}
|
||||
});
|
||||
}
|
||||
|
|
|
@ -13,6 +13,7 @@ import { BlockCommentCommand } from './blockCommentCommand';
|
|||
import { LineCommentCommand, Type } from './lineCommentCommand';
|
||||
import { ICodeEditor } from 'vs/editor/browser/editorBrowser';
|
||||
import { KeybindingWeight } from 'vs/platform/keybinding/common/keybindingsRegistry';
|
||||
import { MenuId } from 'vs/platform/actions/common/actions';
|
||||
|
||||
abstract class CommentLineAction extends EditorAction {
|
||||
|
||||
|
@ -55,6 +56,12 @@ class ToggleCommentLineAction extends CommentLineAction {
|
|||
kbExpr: EditorContextKeys.editorTextFocus,
|
||||
primary: KeyMod.CtrlCmd | KeyCode.US_SLASH,
|
||||
weight: KeybindingWeight.EditorContrib
|
||||
},
|
||||
menubarOpts: {
|
||||
menuId: MenuId.MenubarEditMenu,
|
||||
group: '5_insert',
|
||||
title: nls.localize({ key: 'miToggleLineComment', comment: ['&& denotes a mnemonic'] }, "&&Toggle Line Comment"),
|
||||
order: 1
|
||||
}
|
||||
});
|
||||
}
|
||||
|
@ -105,6 +112,12 @@ class BlockCommentAction extends EditorAction {
|
|||
primary: KeyMod.Shift | KeyMod.Alt | KeyCode.KEY_A,
|
||||
linux: { primary: KeyMod.CtrlCmd | KeyMod.Shift | KeyCode.KEY_A },
|
||||
weight: KeybindingWeight.EditorContrib
|
||||
},
|
||||
menubarOpts: {
|
||||
menuId: MenuId.MenubarEditMenu,
|
||||
group: '5_insert',
|
||||
title: nls.localize({ key: 'miToggleBlockComment', comment: ['&& denotes a mnemonic'] }, "Toggle &&Block Comment"),
|
||||
order: 2
|
||||
}
|
||||
});
|
||||
}
|
||||
|
|
|
@ -25,6 +25,7 @@ import { FindOptionsWidget } from 'vs/editor/contrib/find/findOptionsWidget';
|
|||
import { IThemeService } from 'vs/platform/theme/common/themeService';
|
||||
import { KeybindingWeight } from 'vs/platform/keybinding/common/keybindingsRegistry';
|
||||
import { optional } from 'vs/platform/instantiation/common/instantiation';
|
||||
import { MenuId } from 'vs/platform/actions/common/actions';
|
||||
|
||||
export function getSelectionSearchString(editor: ICodeEditor): string {
|
||||
let selection = editor.getSelection();
|
||||
|
@ -388,6 +389,12 @@ export class StartFindAction extends EditorAction {
|
|||
kbExpr: null,
|
||||
primary: KeyMod.CtrlCmd | KeyCode.KEY_F,
|
||||
weight: KeybindingWeight.EditorContrib
|
||||
},
|
||||
menubarOpts: {
|
||||
menuId: MenuId.MenubarEditMenu,
|
||||
group: '3_find',
|
||||
title: nls.localize({ key: 'miFind', comment: ['&& denotes a mnemonic'] }, "&&Find"),
|
||||
order: 1
|
||||
}
|
||||
});
|
||||
}
|
||||
|
@ -582,6 +589,12 @@ export class StartFindReplaceAction extends EditorAction {
|
|||
primary: KeyMod.CtrlCmd | KeyCode.KEY_H,
|
||||
mac: { primary: KeyMod.CtrlCmd | KeyMod.Alt | KeyCode.KEY_F },
|
||||
weight: KeybindingWeight.EditorContrib
|
||||
},
|
||||
menubarOpts: {
|
||||
menuId: MenuId.MenubarEditMenu,
|
||||
group: '3_find',
|
||||
title: nls.localize({ key: 'miReplace', comment: ['&& denotes a mnemonic'] }, "&&Replace"),
|
||||
order: 2
|
||||
}
|
||||
});
|
||||
}
|
||||
|
|
|
@ -7,130 +7,8 @@
|
|||
import * as nls from 'vs/nls';
|
||||
import { MenuRegistry, MenuId } from 'vs/platform/actions/common/actions';
|
||||
|
||||
editMenuRegistration();
|
||||
selectionMenuRegistration();
|
||||
|
||||
function editMenuRegistration() {
|
||||
MenuRegistry.appendMenuItem(MenuId.MenubarEditMenu, {
|
||||
group: '1_do',
|
||||
command: {
|
||||
id: 'undo',
|
||||
title: nls.localize({ key: 'miUndo', comment: ['&& denotes a mnemonic'] }, "&&Undo")
|
||||
},
|
||||
order: 1
|
||||
});
|
||||
|
||||
MenuRegistry.appendMenuItem(MenuId.MenubarEditMenu, {
|
||||
group: '1_do',
|
||||
command: {
|
||||
id: 'redo',
|
||||
title: nls.localize({ key: 'miRedo', comment: ['&& denotes a mnemonic'] }, "&&Redo")
|
||||
},
|
||||
order: 2
|
||||
});
|
||||
|
||||
MenuRegistry.appendMenuItem(MenuId.MenubarEditMenu, {
|
||||
group: '2_ccp',
|
||||
command: {
|
||||
id: 'editor.action.clipboardCutAction',
|
||||
title: nls.localize({ key: 'miCut', comment: ['&& denotes a mnemonic'] }, "Cu&&t")
|
||||
},
|
||||
order: 1
|
||||
});
|
||||
|
||||
MenuRegistry.appendMenuItem(MenuId.MenubarEditMenu, {
|
||||
group: '2_ccp',
|
||||
command: {
|
||||
id: 'editor.action.clipboardCopyAction',
|
||||
title: nls.localize({ key: 'miCopy', comment: ['&& denotes a mnemonic'] }, "&&Copy")
|
||||
},
|
||||
order: 2
|
||||
});
|
||||
|
||||
MenuRegistry.appendMenuItem(MenuId.MenubarEditMenu, {
|
||||
group: '2_ccp',
|
||||
command: {
|
||||
id: 'editor.action.clipboardPasteAction',
|
||||
title: nls.localize({ key: 'miPaste', comment: ['&& denotes a mnemonic'] }, "&&Paste")
|
||||
},
|
||||
order: 3
|
||||
});
|
||||
|
||||
MenuRegistry.appendMenuItem(MenuId.MenubarEditMenu, {
|
||||
group: '3_find',
|
||||
command: {
|
||||
id: 'actions.find',
|
||||
title: nls.localize({ key: 'miFind', comment: ['&& denotes a mnemonic'] }, "&&Find")
|
||||
},
|
||||
order: 1
|
||||
});
|
||||
|
||||
MenuRegistry.appendMenuItem(MenuId.MenubarEditMenu, {
|
||||
group: '3_find',
|
||||
command: {
|
||||
id: 'editor.action.startFindReplaceAction',
|
||||
title: nls.localize({ key: 'miReplace', comment: ['&& denotes a mnemonic'] }, "&&Replace")
|
||||
},
|
||||
order: 2
|
||||
});
|
||||
|
||||
MenuRegistry.appendMenuItem(MenuId.MenubarEditMenu, {
|
||||
group: '4_find_global',
|
||||
command: {
|
||||
id: 'workbench.action.findInFiles',
|
||||
title: nls.localize({ key: 'miFindInFiles', comment: ['&& denotes a mnemonic'] }, "Find &&in Files")
|
||||
},
|
||||
order: 1
|
||||
});
|
||||
|
||||
MenuRegistry.appendMenuItem(MenuId.MenubarEditMenu, {
|
||||
group: '4_find_global',
|
||||
command: {
|
||||
|
||||
id: 'workbench.action.replaceInFiles',
|
||||
title: nls.localize({ key: 'miReplaceInFiles', comment: ['&& denotes a mnemonic'] }, "Replace &&in Files")
|
||||
},
|
||||
order: 2
|
||||
});
|
||||
|
||||
|
||||
MenuRegistry.appendMenuItem(MenuId.MenubarEditMenu, {
|
||||
group: '5_insert',
|
||||
command: {
|
||||
id: 'editor.action.commentLine',
|
||||
title: nls.localize({ key: 'miToggleLineComment', comment: ['&& denotes a mnemonic'] }, "&&Toggle Line Comment")
|
||||
},
|
||||
order: 1
|
||||
});
|
||||
|
||||
MenuRegistry.appendMenuItem(MenuId.MenubarEditMenu, {
|
||||
group: '5_insert',
|
||||
command: {
|
||||
id: 'editor.action.blockComment',
|
||||
title: nls.localize({ key: 'miToggleBlockComment', comment: ['&& denotes a mnemonic'] }, "Toggle &&Block Comment")
|
||||
},
|
||||
order: 2
|
||||
});
|
||||
|
||||
MenuRegistry.appendMenuItem(MenuId.MenubarEditMenu, {
|
||||
group: '5_insert',
|
||||
command: {
|
||||
id: 'editor.emmet.action.expandAbbreviation',
|
||||
title: nls.localize({ key: 'miEmmetExpandAbbreviation', comment: ['&& denotes a mnemonic'] }, "Emmet: E&&xpand Abbreviation")
|
||||
},
|
||||
order: 1
|
||||
});
|
||||
|
||||
MenuRegistry.appendMenuItem(MenuId.MenubarEditMenu, {
|
||||
group: '5_insert',
|
||||
command: {
|
||||
id: 'workbench.action.showEmmetCommands',
|
||||
title: nls.localize({ key: 'miShowEmmetCommands', comment: ['&& denotes a mnemonic'] }, "E&&mmet...")
|
||||
},
|
||||
order: 2
|
||||
});
|
||||
}
|
||||
|
||||
function selectionMenuRegistration() {
|
||||
MenuRegistry.appendMenuItem(MenuId.MenubarSelectionMenu, {
|
||||
group: '1_basic',
|
||||
|
|
|
@ -12,6 +12,7 @@ import { registerEditorAction, EditorAction, ServicesAccessor } from 'vs/editor/
|
|||
import { IQuickOpenService } from 'vs/platform/quickOpen/common/quickOpen';
|
||||
import { EditorContextKeys } from 'vs/editor/common/editorContextKeys';
|
||||
import { ICodeEditor } from 'vs/editor/browser/editorBrowser';
|
||||
import { MenuId } from 'vs/platform/actions/common/actions';
|
||||
|
||||
const EMMET_COMMANDS_PREFIX = '>Emmet: ';
|
||||
|
||||
|
@ -23,6 +24,12 @@ class ShowEmmetCommandsAction extends EditorAction {
|
|||
label: nls.localize('showEmmetCommands', "Show Emmet Commands"),
|
||||
alias: 'Show Emmet Commands',
|
||||
precondition: EditorContextKeys.writable,
|
||||
menubarOpts: {
|
||||
menuId: MenuId.MenubarEditMenu,
|
||||
group: '5_insert',
|
||||
title: nls.localize({ key: 'miShowEmmetCommands', comment: ['&& denotes a mnemonic'] }, "E&&mmet..."),
|
||||
order: 4
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
|
|
|
@ -11,6 +11,7 @@ import { EditorContextKeys } from 'vs/editor/common/editorContextKeys';
|
|||
import { KeyCode } from 'vs/base/common/keyCodes';
|
||||
import { ContextKeyExpr } from 'vs/platform/contextkey/common/contextkey';
|
||||
import { KeybindingWeight } from 'vs/platform/keybinding/common/keybindingsRegistry';
|
||||
import { MenuId } from 'vs/platform/actions/common/actions';
|
||||
|
||||
class ExpandAbbreviationAction extends EmmetEditorAction {
|
||||
|
||||
|
@ -29,6 +30,12 @@ class ExpandAbbreviationAction extends EmmetEditorAction {
|
|||
ContextKeyExpr.has('config.emmet.triggerExpansionOnTab')
|
||||
),
|
||||
weight: KeybindingWeight.EditorContrib
|
||||
},
|
||||
menubarOpts: {
|
||||
menuId: MenuId.MenubarEditMenu,
|
||||
group: '5_insert',
|
||||
title: nls.localize({ key: 'miEmmetExpandAbbreviation', comment: ['&& denotes a mnemonic'] }, "Emmet: E&&xpand Abbreviation"),
|
||||
order: 3
|
||||
}
|
||||
});
|
||||
|
||||
|
|
|
@ -476,11 +476,27 @@ const registry = Registry.as<IWorkbenchActionRegistry>(ActionExtensions.Workbenc
|
|||
// Show Search 'when' is redundant but if the two conflict with exactly the same keybinding and 'when' clause, then they can show up as "unbound" - #51780
|
||||
registry.registerWorkbenchAction(new SyncActionDescriptor(FindInFilesAction, VIEW_ID, nls.localize('showSearchViewl', "Show Search"), { primary: KeyMod.CtrlCmd | KeyMod.Shift | KeyCode.KEY_F }, Constants.SearchViewVisibleKey.toNegated()), 'View: Show Search', nls.localize('view', "View"));
|
||||
registry.registerWorkbenchAction(new SyncActionDescriptor(FindInFilesAction, Constants.FindInFilesActionId, nls.localize('findInFiles', "Find in Files"), { primary: KeyMod.CtrlCmd | KeyMod.Shift | KeyCode.KEY_F }), 'Find in Files', category);
|
||||
MenuRegistry.appendMenuItem(MenuId.MenubarEditMenu, {
|
||||
group: '4_find_global',
|
||||
command: {
|
||||
id: Constants.FindInFilesActionId,
|
||||
title: nls.localize({ key: 'miFindInFiles', comment: ['&& denotes a mnemonic'] }, "Find &&in Files")
|
||||
},
|
||||
order: 1
|
||||
});
|
||||
|
||||
registry.registerWorkbenchAction(new SyncActionDescriptor(FocusNextSearchResultAction, FocusNextSearchResultAction.ID, FocusNextSearchResultAction.LABEL, { primary: KeyCode.F4 }, ContextKeyExpr.and(Constants.HasSearchResults)), 'Focus Next Search Result', category);
|
||||
registry.registerWorkbenchAction(new SyncActionDescriptor(FocusPreviousSearchResultAction, FocusPreviousSearchResultAction.ID, FocusPreviousSearchResultAction.LABEL, { primary: KeyMod.Shift | KeyCode.F4 }, ContextKeyExpr.and(Constants.HasSearchResults)), 'Focus Previous Search Result', category);
|
||||
|
||||
registry.registerWorkbenchAction(new SyncActionDescriptor(ReplaceInFilesAction, ReplaceInFilesAction.ID, ReplaceInFilesAction.LABEL, { primary: KeyMod.CtrlCmd | KeyMod.Shift | KeyCode.KEY_H }), 'Replace in Files', category);
|
||||
MenuRegistry.appendMenuItem(MenuId.MenubarEditMenu, {
|
||||
group: '4_find_global',
|
||||
command: {
|
||||
id: ReplaceInFilesAction.ID,
|
||||
title: nls.localize({ key: 'miReplaceInFiles', comment: ['&& denotes a mnemonic'] }, "Replace &&in Files")
|
||||
},
|
||||
order: 2
|
||||
});
|
||||
|
||||
KeybindingsRegistry.registerCommandAndKeybindingRule(objects.assign({
|
||||
id: Constants.ToggleCaseSensitiveCommandId,
|
||||
|
|
Loading…
Reference in a new issue