Skip to content

Commit beaf391

Browse files
committed
Use Action2 instead of editor Command
microsoft#89348
1 parent 4e81d10 commit beaf391

1 file changed

Lines changed: 159 additions & 99 deletions

File tree

src/vs/workbench/contrib/preferences/browser/preferences.contribution.ts

Lines changed: 159 additions & 99 deletions
Original file line numberDiff line numberDiff line change
@@ -7,38 +7,37 @@ import { KeyChord, KeyCode, KeyMod } from 'vs/base/common/keyCodes';
77
import { Disposable } from 'vs/base/common/lifecycle';
88
import { URI } from 'vs/base/common/uri';
99
import 'vs/css!../browser/media/preferences';
10-
import { Command } from 'vs/editor/browser/editorExtensions';
1110
import { Context as SuggestContext } from 'vs/editor/contrib/suggest/suggest';
1211
import * as nls from 'vs/nls';
13-
import { MenuId, MenuRegistry, SyncActionDescriptor } from 'vs/platform/actions/common/actions';
12+
import { Action2, MenuId, MenuRegistry, registerAction2, SyncActionDescriptor } from 'vs/platform/actions/common/actions';
1413
import { CommandsRegistry } from 'vs/platform/commands/common/commands';
1514
import { ContextKeyExpr } from 'vs/platform/contextkey/common/contextkey';
16-
import { WorkbenchStateContext, IsMacNativeContext, RemoteNameContext } from 'vs/workbench/browser/contextkeys';
17-
import { IWorkbenchEnvironmentService } from 'vs/workbench/services/environment/common/environmentService';
1815
import { SyncDescriptor } from 'vs/platform/instantiation/common/descriptors';
1916
import { IInstantiationService, ServicesAccessor } from 'vs/platform/instantiation/common/instantiation';
2017
import { KeybindingsRegistry, KeybindingWeight } from 'vs/platform/keybinding/common/keybindingsRegistry';
18+
import { ILabelService } from 'vs/platform/label/common/label';
2119
import { LifecyclePhase } from 'vs/platform/lifecycle/common/lifecycle';
2220
import { Registry } from 'vs/platform/registry/common/platform';
21+
import { REMOTE_HOST_SCHEME } from 'vs/platform/remote/common/remoteHosts';
2322
import { IWorkspaceContextService, WorkbenchState } from 'vs/platform/workspace/common/workspace';
23+
import { IsMacNativeContext, RemoteNameContext, WorkbenchStateContext } from 'vs/workbench/browser/contextkeys';
2424
import { EditorDescriptor, Extensions as EditorExtensions, IEditorRegistry } from 'vs/workbench/browser/editor';
2525
import { Extensions, IWorkbenchActionRegistry } from 'vs/workbench/common/actions';
2626
import { Extensions as WorkbenchExtensions, IWorkbenchContribution, IWorkbenchContributionsRegistry } from 'vs/workbench/common/contributions';
2727
import { EditorInput, Extensions as EditorInputExtensions, IEditorInputFactory, IEditorInputFactoryRegistry } from 'vs/workbench/common/editor';
2828
import { ResourceContextKey } from 'vs/workbench/common/resources';
29+
import { ExplorerFolderContext, ExplorerRootContext } from 'vs/workbench/contrib/files/common/files';
2930
import { KeybindingsEditor } from 'vs/workbench/contrib/preferences/browser/keybindingsEditor';
30-
import { ConfigureLanguageBasedSettingsAction, OpenDefaultKeybindingsFileAction, OpenFolderSettingsAction, OpenGlobalKeybindingsAction, OpenGlobalKeybindingsFileAction, OpenGlobalSettingsAction, OpenRawDefaultSettingsAction, OpenSettings2Action, OpenSettingsJsonAction, OpenWorkspaceSettingsAction, OPEN_FOLDER_SETTINGS_COMMAND, OPEN_FOLDER_SETTINGS_LABEL, OpenRemoteSettingsAction } from 'vs/workbench/contrib/preferences/browser/preferencesActions';
31+
import { ConfigureLanguageBasedSettingsAction, OpenDefaultKeybindingsFileAction, OpenFolderSettingsAction, OpenGlobalKeybindingsAction, OpenGlobalKeybindingsFileAction, OpenGlobalSettingsAction, OpenRawDefaultSettingsAction, OpenRemoteSettingsAction, OpenSettings2Action, OpenSettingsJsonAction, OpenWorkspaceSettingsAction, OPEN_FOLDER_SETTINGS_COMMAND, OPEN_FOLDER_SETTINGS_LABEL } from 'vs/workbench/contrib/preferences/browser/preferencesActions';
3132
import { PreferencesEditor } from 'vs/workbench/contrib/preferences/browser/preferencesEditor';
32-
import { CONTEXT_KEYBINDINGS_EDITOR, CONTEXT_KEYBINDINGS_SEARCH_FOCUS, CONTEXT_KEYBINDING_FOCUS, CONTEXT_SETTINGS_EDITOR, CONTEXT_SETTINGS_JSON_EDITOR, CONTEXT_SETTINGS_SEARCH_FOCUS, CONTEXT_TOC_ROW_FOCUS, IKeybindingsEditor, KEYBINDINGS_EDITOR_COMMAND_CLEAR_SEARCH_RESULTS, KEYBINDINGS_EDITOR_COMMAND_COPY, KEYBINDINGS_EDITOR_COMMAND_COPY_COMMAND, KEYBINDINGS_EDITOR_COMMAND_DEFINE, KEYBINDINGS_EDITOR_COMMAND_FOCUS_KEYBINDINGS, KEYBINDINGS_EDITOR_COMMAND_RECORD_SEARCH_KEYS, KEYBINDINGS_EDITOR_COMMAND_REMOVE, KEYBINDINGS_EDITOR_COMMAND_RESET, KEYBINDINGS_EDITOR_COMMAND_SEARCH, KEYBINDINGS_EDITOR_COMMAND_SHOW_SIMILAR, KEYBINDINGS_EDITOR_COMMAND_SORTBY_PRECEDENCE, KEYBINDINGS_EDITOR_SHOW_DEFAULT_KEYBINDINGS, KEYBINDINGS_EDITOR_SHOW_USER_KEYBINDINGS, MODIFIED_SETTING_TAG, SETTINGS_EDITOR_COMMAND_CLEAR_SEARCH_RESULTS, SETTINGS_EDITOR_COMMAND_EDIT_FOCUSED_SETTING, SETTINGS_EDITOR_COMMAND_FILTER_MODIFIED, SETTINGS_EDITOR_COMMAND_FILTER_ONLINE, SETTINGS_EDITOR_COMMAND_FOCUS_FILE, SETTINGS_EDITOR_COMMAND_FOCUS_NEXT_SETTING, SETTINGS_EDITOR_COMMAND_FOCUS_PREVIOUS_SETTING, SETTINGS_EDITOR_COMMAND_FOCUS_SETTINGS_FROM_SEARCH, SETTINGS_EDITOR_COMMAND_FOCUS_SETTINGS_LIST, SETTINGS_EDITOR_COMMAND_SEARCH, SETTINGS_EDITOR_COMMAND_SHOW_CONTEXT_MENU, SETTINGS_EDITOR_COMMAND_SWITCH_TO_JSON, SETTINGS_COMMAND_OPEN_SETTINGS, KEYBINDINGS_EDITOR_COMMAND_DEFINE_WHEN } from 'vs/workbench/contrib/preferences/common/preferences';
33-
import { PreferencesContribution } from 'vs/workbench/contrib/preferences/common/preferencesContribution';
3433
import { SettingsEditor2 } from 'vs/workbench/contrib/preferences/browser/settingsEditor2';
34+
import { CONTEXT_KEYBINDINGS_EDITOR, CONTEXT_KEYBINDINGS_SEARCH_FOCUS, CONTEXT_KEYBINDING_FOCUS, CONTEXT_SETTINGS_EDITOR, CONTEXT_SETTINGS_JSON_EDITOR, CONTEXT_SETTINGS_SEARCH_FOCUS, CONTEXT_TOC_ROW_FOCUS, IKeybindingsEditor, KEYBINDINGS_EDITOR_COMMAND_CLEAR_SEARCH_RESULTS, KEYBINDINGS_EDITOR_COMMAND_COPY, KEYBINDINGS_EDITOR_COMMAND_COPY_COMMAND, KEYBINDINGS_EDITOR_COMMAND_DEFINE, KEYBINDINGS_EDITOR_COMMAND_DEFINE_WHEN, KEYBINDINGS_EDITOR_COMMAND_FOCUS_KEYBINDINGS, KEYBINDINGS_EDITOR_COMMAND_RECORD_SEARCH_KEYS, KEYBINDINGS_EDITOR_COMMAND_REMOVE, KEYBINDINGS_EDITOR_COMMAND_RESET, KEYBINDINGS_EDITOR_COMMAND_SEARCH, KEYBINDINGS_EDITOR_COMMAND_SHOW_SIMILAR, KEYBINDINGS_EDITOR_COMMAND_SORTBY_PRECEDENCE, KEYBINDINGS_EDITOR_SHOW_DEFAULT_KEYBINDINGS, KEYBINDINGS_EDITOR_SHOW_USER_KEYBINDINGS, MODIFIED_SETTING_TAG, SETTINGS_COMMAND_OPEN_SETTINGS, SETTINGS_EDITOR_COMMAND_CLEAR_SEARCH_RESULTS, SETTINGS_EDITOR_COMMAND_EDIT_FOCUSED_SETTING, SETTINGS_EDITOR_COMMAND_FILTER_MODIFIED, SETTINGS_EDITOR_COMMAND_FILTER_ONLINE, SETTINGS_EDITOR_COMMAND_FOCUS_FILE, SETTINGS_EDITOR_COMMAND_FOCUS_NEXT_SETTING, SETTINGS_EDITOR_COMMAND_FOCUS_PREVIOUS_SETTING, SETTINGS_EDITOR_COMMAND_FOCUS_SETTINGS_FROM_SEARCH, SETTINGS_EDITOR_COMMAND_FOCUS_SETTINGS_LIST, SETTINGS_EDITOR_COMMAND_SEARCH, SETTINGS_EDITOR_COMMAND_SHOW_CONTEXT_MENU, SETTINGS_EDITOR_COMMAND_SWITCH_TO_JSON } from 'vs/workbench/contrib/preferences/common/preferences';
35+
import { PreferencesContribution } from 'vs/workbench/contrib/preferences/common/preferencesContribution';
3536
import { IEditorService } from 'vs/workbench/services/editor/common/editorService';
37+
import { IWorkbenchEnvironmentService } from 'vs/workbench/services/environment/common/environmentService';
38+
import { IExtensionService } from 'vs/workbench/services/extensions/common/extensions';
3639
import { IPreferencesService } from 'vs/workbench/services/preferences/common/preferences';
3740
import { DefaultPreferencesEditorInput, KeybindingsEditorInput, PreferencesEditorInput, SettingsEditor2Input } from 'vs/workbench/services/preferences/common/preferencesEditorInput';
38-
import { ExplorerRootContext, ExplorerFolderContext } from 'vs/workbench/contrib/files/common/files';
39-
import { ILabelService } from 'vs/platform/label/common/label';
40-
import { IExtensionService } from 'vs/workbench/services/extensions/common/extensions';
41-
import { REMOTE_HOST_SCHEME } from 'vs/platform/remote/common/remoteHosts';
4241

4342
Registry.as<IEditorRegistry>(EditorExtensions.Editors).registerEditor(
4443
EditorDescriptor.create(
@@ -576,155 +575,216 @@ MenuRegistry.appendMenuItem(MenuId.EditorTitle, {
576575
group: '1_keyboard_preferences_actions'
577576
});
578577

579-
abstract class SettingsCommand extends Command {
580-
581-
protected getPreferencesEditor(accessor: ServicesAccessor): PreferencesEditor | SettingsEditor2 | null {
582-
const activeControl = accessor.get(IEditorService).activeControl;
583-
if (activeControl instanceof PreferencesEditor || activeControl instanceof SettingsEditor2) {
584-
return activeControl;
585-
}
586-
587-
return null;
578+
function getPreferencesEditor(accessor: ServicesAccessor): PreferencesEditor | SettingsEditor2 | null {
579+
const activeControl = accessor.get(IEditorService).activeControl;
580+
if (activeControl instanceof PreferencesEditor || activeControl instanceof SettingsEditor2) {
581+
return activeControl;
588582
}
589583

584+
return null;
590585
}
591-
class StartSearchDefaultSettingsCommand extends SettingsCommand {
592586

593-
runCommand(accessor: ServicesAccessor, args: any): void {
594-
const preferencesEditor = this.getPreferencesEditor(accessor);
587+
registerAction2(class extends Action2 {
588+
constructor() {
589+
super({
590+
id: SETTINGS_EDITOR_COMMAND_SEARCH,
591+
precondition: ContextKeyExpr.and(CONTEXT_SETTINGS_EDITOR),
592+
keybinding: {
593+
primary: KeyMod.CtrlCmd | KeyCode.KEY_F,
594+
weight: KeybindingWeight.EditorContrib,
595+
when: null
596+
},
597+
title: nls.localize('settings.focusSearch', "Focus settings search")
598+
});
599+
}
600+
601+
run(accessor: ServicesAccessor) {
602+
const preferencesEditor = getPreferencesEditor(accessor);
595603
if (preferencesEditor) {
596604
preferencesEditor.focusSearch();
597605
}
598606
}
599-
}
600-
const startSearchCommand = new StartSearchDefaultSettingsCommand({
601-
id: SETTINGS_EDITOR_COMMAND_SEARCH,
602-
precondition: ContextKeyExpr.and(CONTEXT_SETTINGS_EDITOR),
603-
kbOpts: { primary: KeyMod.CtrlCmd | KeyCode.KEY_F, weight: KeybindingWeight.EditorContrib }
604607
});
605-
startSearchCommand.register();
606608

607-
class ClearSearchResultsCommand extends SettingsCommand {
609+
registerAction2(class extends Action2 {
610+
constructor() {
611+
super({
612+
id: SETTINGS_EDITOR_COMMAND_CLEAR_SEARCH_RESULTS,
613+
precondition: CONTEXT_SETTINGS_SEARCH_FOCUS,
614+
keybinding: {
615+
primary: KeyCode.Escape,
616+
weight: KeybindingWeight.EditorContrib,
617+
when: null
618+
},
619+
title: nls.localize('settings.clearResults', "Clear settings search results")
620+
});
621+
}
608622

609-
runCommand(accessor: ServicesAccessor, args: any): void {
610-
const preferencesEditor = this.getPreferencesEditor(accessor);
623+
run(accessor: ServicesAccessor) {
624+
const preferencesEditor = getPreferencesEditor(accessor);
611625
if (preferencesEditor) {
612626
preferencesEditor.clearSearchResults();
613627
}
614628
}
615-
}
616-
const clearSearchResultsCommand = new ClearSearchResultsCommand({
617-
id: SETTINGS_EDITOR_COMMAND_CLEAR_SEARCH_RESULTS,
618-
precondition: CONTEXT_SETTINGS_SEARCH_FOCUS,
619-
kbOpts: { primary: KeyCode.Escape, weight: KeybindingWeight.EditorContrib }
620629
});
621-
clearSearchResultsCommand.register();
622630

623-
class FocusSettingsFileEditorCommand extends SettingsCommand {
631+
registerAction2(class extends Action2 {
632+
constructor() {
633+
super({
634+
id: SETTINGS_EDITOR_COMMAND_FOCUS_FILE,
635+
precondition: ContextKeyExpr.and(CONTEXT_SETTINGS_SEARCH_FOCUS, SuggestContext.Visible.toNegated()),
636+
keybinding: {
637+
primary: KeyCode.DownArrow,
638+
weight: KeybindingWeight.EditorContrib,
639+
when: null
640+
},
641+
title: nls.localize('settings.focusFile', "Focus settings file")
642+
});
643+
}
624644

625-
runCommand(accessor: ServicesAccessor, args: any): void {
626-
const preferencesEditor = this.getPreferencesEditor(accessor);
645+
run(accessor: ServicesAccessor, args: any): void {
646+
const preferencesEditor = getPreferencesEditor(accessor);
627647
if (preferencesEditor instanceof PreferencesEditor) {
628648
preferencesEditor.focusSettingsFileEditor();
629649
} else if (preferencesEditor) {
630650
preferencesEditor.focusSettings();
631651
}
632652
}
633-
}
634-
const focusSettingsFileEditorCommand = new FocusSettingsFileEditorCommand({
635-
id: SETTINGS_EDITOR_COMMAND_FOCUS_FILE,
636-
precondition: ContextKeyExpr.and(CONTEXT_SETTINGS_SEARCH_FOCUS, SuggestContext.Visible.toNegated()),
637-
kbOpts: { primary: KeyCode.DownArrow, weight: KeybindingWeight.EditorContrib }
638653
});
639-
focusSettingsFileEditorCommand.register();
640654

641-
const focusSettingsFromSearchCommand = new FocusSettingsFileEditorCommand({
642-
id: SETTINGS_EDITOR_COMMAND_FOCUS_SETTINGS_FROM_SEARCH,
643-
precondition: ContextKeyExpr.and(CONTEXT_SETTINGS_SEARCH_FOCUS, SuggestContext.Visible.toNegated()),
644-
kbOpts: { primary: KeyCode.DownArrow, weight: KeybindingWeight.WorkbenchContrib }
655+
registerAction2(class extends Action2 {
656+
constructor() {
657+
super({
658+
id: SETTINGS_EDITOR_COMMAND_FOCUS_SETTINGS_FROM_SEARCH,
659+
precondition: ContextKeyExpr.and(CONTEXT_SETTINGS_SEARCH_FOCUS, SuggestContext.Visible.toNegated()),
660+
keybinding: {
661+
primary: KeyCode.DownArrow,
662+
weight: KeybindingWeight.WorkbenchContrib,
663+
when: null
664+
},
665+
title: nls.localize('settings.focusFile', "Focus settings file")
666+
});
667+
}
668+
669+
run(accessor: ServicesAccessor, args: any): void {
670+
const preferencesEditor = getPreferencesEditor(accessor);
671+
if (preferencesEditor instanceof PreferencesEditor) {
672+
preferencesEditor.focusSettingsFileEditor();
673+
} else if (preferencesEditor) {
674+
preferencesEditor.focusSettings();
675+
}
676+
}
645677
});
646-
focusSettingsFromSearchCommand.register();
647678

648-
class FocusNextSearchResultCommand extends SettingsCommand {
679+
registerAction2(class extends Action2 {
680+
constructor() {
681+
super({
682+
id: SETTINGS_EDITOR_COMMAND_FOCUS_NEXT_SETTING,
683+
precondition: CONTEXT_SETTINGS_SEARCH_FOCUS,
684+
keybinding: {
685+
primary: KeyCode.Enter,
686+
weight: KeybindingWeight.EditorContrib,
687+
when: null
688+
},
689+
title: nls.localize('settings.focusNextSetting', "Focus next setting")
690+
});
691+
}
649692

650-
runCommand(accessor: ServicesAccessor, args: any): void {
651-
const preferencesEditor = this.getPreferencesEditor(accessor);
693+
run(accessor: ServicesAccessor): void {
694+
const preferencesEditor = getPreferencesEditor(accessor);
652695
if (preferencesEditor instanceof PreferencesEditor) {
653696
preferencesEditor.focusNextResult();
654697
}
655698
}
656-
}
657-
const focusNextSearchResultCommand = new FocusNextSearchResultCommand({
658-
id: SETTINGS_EDITOR_COMMAND_FOCUS_NEXT_SETTING,
659-
precondition: CONTEXT_SETTINGS_SEARCH_FOCUS,
660-
kbOpts: { primary: KeyCode.Enter, weight: KeybindingWeight.EditorContrib }
661699
});
662-
focusNextSearchResultCommand.register();
663700

664-
class FocusPreviousSearchResultCommand extends SettingsCommand {
701+
registerAction2(class extends Action2 {
702+
constructor() {
703+
super({
704+
id: SETTINGS_EDITOR_COMMAND_FOCUS_PREVIOUS_SETTING,
705+
precondition: CONTEXT_SETTINGS_SEARCH_FOCUS,
706+
keybinding: {
707+
primary: KeyMod.Shift | KeyCode.Enter,
708+
weight: KeybindingWeight.EditorContrib,
709+
when: null
710+
},
711+
title: nls.localize('settings.focusPreviousSetting', "Focus previous setting")
712+
});
713+
}
665714

666-
runCommand(accessor: ServicesAccessor, args: any): void {
667-
const preferencesEditor = this.getPreferencesEditor(accessor);
715+
run(accessor: ServicesAccessor): void {
716+
const preferencesEditor = getPreferencesEditor(accessor);
668717
if (preferencesEditor instanceof PreferencesEditor) {
669718
preferencesEditor.focusPreviousResult();
670719
}
671720
}
672-
}
673-
const focusPreviousSearchResultCommand = new FocusPreviousSearchResultCommand({
674-
id: SETTINGS_EDITOR_COMMAND_FOCUS_PREVIOUS_SETTING,
675-
precondition: CONTEXT_SETTINGS_SEARCH_FOCUS,
676-
kbOpts: { primary: KeyMod.Shift | KeyCode.Enter, weight: KeybindingWeight.EditorContrib }
677721
});
678-
focusPreviousSearchResultCommand.register();
679722

680-
class EditFocusedSettingCommand extends SettingsCommand {
723+
registerAction2(class extends Action2 {
724+
constructor() {
725+
super({
726+
id: SETTINGS_EDITOR_COMMAND_EDIT_FOCUSED_SETTING,
727+
precondition: CONTEXT_SETTINGS_SEARCH_FOCUS,
728+
keybinding: {
729+
primary: KeyMod.CtrlCmd | KeyCode.US_DOT,
730+
weight: KeybindingWeight.EditorContrib,
731+
when: null
732+
},
733+
title: nls.localize('settings.editFocusedSetting', "Edit focused setting")
734+
});
735+
}
681736

682-
runCommand(accessor: ServicesAccessor, args: any): void {
683-
const preferencesEditor = this.getPreferencesEditor(accessor);
737+
run(accessor: ServicesAccessor): void {
738+
const preferencesEditor = getPreferencesEditor(accessor);
684739
if (preferencesEditor instanceof PreferencesEditor) {
685740
preferencesEditor.editFocusedPreference();
686741
}
687742
}
688-
}
689-
const editFocusedSettingCommand = new EditFocusedSettingCommand({
690-
id: SETTINGS_EDITOR_COMMAND_EDIT_FOCUSED_SETTING,
691-
precondition: CONTEXT_SETTINGS_SEARCH_FOCUS,
692-
kbOpts: { primary: KeyMod.CtrlCmd | KeyCode.US_DOT, weight: KeybindingWeight.EditorContrib }
693743
});
694-
editFocusedSettingCommand.register();
695744

696-
class FocusSettingsListCommand extends SettingsCommand {
745+
registerAction2(class extends Action2 {
746+
constructor() {
747+
super({
748+
id: SETTINGS_EDITOR_COMMAND_FOCUS_SETTINGS_LIST,
749+
precondition: ContextKeyExpr.and(CONTEXT_SETTINGS_EDITOR, CONTEXT_TOC_ROW_FOCUS),
750+
keybinding: {
751+
primary: KeyCode.Enter,
752+
weight: KeybindingWeight.WorkbenchContrib,
753+
when: null
754+
},
755+
title: nls.localize('settings.focusSettingsList', "Focus settings list")
756+
});
757+
}
697758

698-
runCommand(accessor: ServicesAccessor, args: any): void {
699-
const preferencesEditor = this.getPreferencesEditor(accessor);
759+
run(accessor: ServicesAccessor): void {
760+
const preferencesEditor = getPreferencesEditor(accessor);
700761
if (preferencesEditor instanceof SettingsEditor2) {
701762
preferencesEditor.focusSettings();
702763
}
703764
}
704-
}
705-
706-
const focusSettingsListCommand = new FocusSettingsListCommand({
707-
id: SETTINGS_EDITOR_COMMAND_FOCUS_SETTINGS_LIST,
708-
precondition: ContextKeyExpr.and(CONTEXT_SETTINGS_EDITOR, CONTEXT_TOC_ROW_FOCUS),
709-
kbOpts: { primary: KeyCode.Enter, weight: KeybindingWeight.WorkbenchContrib }
710765
});
711-
focusSettingsListCommand.register();
712766

713-
class ShowContextMenuCommand extends SettingsCommand {
714-
runCommand(accessor: ServicesAccessor, args: any): void {
715-
const preferencesEditor = this.getPreferencesEditor(accessor);
767+
registerAction2(class extends Action2 {
768+
constructor() {
769+
super({
770+
id: SETTINGS_EDITOR_COMMAND_SHOW_CONTEXT_MENU,
771+
precondition: ContextKeyExpr.and(CONTEXT_SETTINGS_EDITOR),
772+
keybinding: {
773+
primary: KeyMod.Shift | KeyCode.F9,
774+
weight: KeybindingWeight.WorkbenchContrib,
775+
when: null
776+
},
777+
title: nls.localize('settings.showContextMenu', "Show context menu")
778+
});
779+
}
780+
781+
run(accessor: ServicesAccessor): void {
782+
const preferencesEditor = getPreferencesEditor(accessor);
716783
if (preferencesEditor instanceof SettingsEditor2) {
717784
preferencesEditor.showContextMenu();
718785
}
719786
}
720-
}
721-
722-
const showContextMenuCommand = new ShowContextMenuCommand({
723-
id: SETTINGS_EDITOR_COMMAND_SHOW_CONTEXT_MENU,
724-
precondition: ContextKeyExpr.and(CONTEXT_SETTINGS_EDITOR),
725-
kbOpts: { primary: KeyMod.Shift | KeyCode.F9, weight: KeybindingWeight.WorkbenchContrib }
726787
});
727-
showContextMenuCommand.register();
728788

729789
CommandsRegistry.registerCommand(SETTINGS_EDITOR_COMMAND_SWITCH_TO_JSON, serviceAccessor => {
730790
const control = serviceAccessor.get(IEditorService).activeControl as SettingsEditor2;

0 commit comments

Comments
 (0)