@@ -7,38 +7,37 @@ import { KeyChord, KeyCode, KeyMod } from 'vs/base/common/keyCodes';
77import { Disposable } from 'vs/base/common/lifecycle' ;
88import { URI } from 'vs/base/common/uri' ;
99import 'vs/css!../browser/media/preferences' ;
10- import { Command } from 'vs/editor/browser/editorExtensions' ;
1110import { Context as SuggestContext } from 'vs/editor/contrib/suggest/suggest' ;
1211import * 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' ;
1413import { CommandsRegistry } from 'vs/platform/commands/common/commands' ;
1514import { 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' ;
1815import { SyncDescriptor } from 'vs/platform/instantiation/common/descriptors' ;
1916import { IInstantiationService , ServicesAccessor } from 'vs/platform/instantiation/common/instantiation' ;
2017import { KeybindingsRegistry , KeybindingWeight } from 'vs/platform/keybinding/common/keybindingsRegistry' ;
18+ import { ILabelService } from 'vs/platform/label/common/label' ;
2119import { LifecyclePhase } from 'vs/platform/lifecycle/common/lifecycle' ;
2220import { Registry } from 'vs/platform/registry/common/platform' ;
21+ import { REMOTE_HOST_SCHEME } from 'vs/platform/remote/common/remoteHosts' ;
2322import { IWorkspaceContextService , WorkbenchState } from 'vs/platform/workspace/common/workspace' ;
23+ import { IsMacNativeContext , RemoteNameContext , WorkbenchStateContext } from 'vs/workbench/browser/contextkeys' ;
2424import { EditorDescriptor , Extensions as EditorExtensions , IEditorRegistry } from 'vs/workbench/browser/editor' ;
2525import { Extensions , IWorkbenchActionRegistry } from 'vs/workbench/common/actions' ;
2626import { Extensions as WorkbenchExtensions , IWorkbenchContribution , IWorkbenchContributionsRegistry } from 'vs/workbench/common/contributions' ;
2727import { EditorInput , Extensions as EditorInputExtensions , IEditorInputFactory , IEditorInputFactoryRegistry } from 'vs/workbench/common/editor' ;
2828import { ResourceContextKey } from 'vs/workbench/common/resources' ;
29+ import { ExplorerFolderContext , ExplorerRootContext } from 'vs/workbench/contrib/files/common/files' ;
2930import { 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' ;
3132import { 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' ;
3433import { 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' ;
3536import { 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' ;
3639import { IPreferencesService } from 'vs/workbench/services/preferences/common/preferences' ;
3740import { 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
4342Registry . 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
729789CommandsRegistry . registerCommand ( SETTINGS_EDITOR_COMMAND_SWITCH_TO_JSON , serviceAccessor => {
730790 const control = serviceAccessor . get ( IEditorService ) . activeControl as SettingsEditor2 ;
0 commit comments