提交 b88aa861 编写于 作者: B Benjamin Pasero

quick access - fix action registration for commands

上级 55646f7c
......@@ -10,10 +10,13 @@ import { IEditorService, SIDE_GROUP } from 'vs/workbench/services/editor/common/
import { IRange } from 'vs/editor/common/core/range';
import { AbstractGotoLineQuickAccessProvider } from 'vs/editor/contrib/quickAccess/gotoLineQuickAccess';
import { Registry } from 'vs/platform/registry/common/platform';
import { IQuickAccessRegistry, Extensions } from 'vs/platform/quickinput/common/quickAccess';
import { IQuickAccessRegistry, Extensions as QuickaccesExtensions } from 'vs/platform/quickinput/common/quickAccess';
import { IConfigurationService } from 'vs/platform/configuration/common/configuration';
import { IWorkbenchEditorConfiguration } from 'vs/workbench/common/editor';
import { Action } from 'vs/base/common/actions';
import { IWorkbenchActionRegistry, Extensions as ActionExtensions } from 'vs/workbench/common/actions';
import { SyncActionDescriptor } from 'vs/platform/actions/common/actions';
import { KeyMod, KeyCode } from 'vs/base/common/keyCodes';
export class GotoLineQuickAccessProvider extends AbstractGotoLineQuickAccessProvider {
......@@ -56,7 +59,7 @@ export class GotoLineQuickAccessProvider extends AbstractGotoLineQuickAccessProv
}
}
Registry.as<IQuickAccessRegistry>(Extensions.Quickaccess).registerQuickAccessProvider({
Registry.as<IQuickAccessRegistry>(QuickaccesExtensions.Quickaccess).registerQuickAccessProvider({
ctor: GotoLineQuickAccessProvider,
prefix: AbstractGotoLineQuickAccessProvider.PREFIX,
placeholder: localize('gotoLineQuickAccessPlaceholder', "Type the line number and optional column to go to (e.g. 42:5 for line 42 and column 5)."),
......@@ -80,3 +83,8 @@ export class GotoLineAction extends Action {
this.quickInputService.quickAccess.show(GotoLineQuickAccessProvider.PREFIX);
}
}
Registry.as<IWorkbenchActionRegistry>(ActionExtensions.WorkbenchActions).registerWorkbenchAction(SyncActionDescriptor.create(GotoLineAction, GotoLineAction.ID, GotoLineAction.LABEL, {
primary: KeyMod.CtrlCmd | KeyCode.KEY_G,
mac: { primary: KeyMod.WinCtrl | KeyCode.KEY_G }
}), 'Go to Line/Column...');
......@@ -9,7 +9,7 @@ import { IEditor } from 'vs/editor/common/editorCommon';
import { IEditorService, SIDE_GROUP } from 'vs/workbench/services/editor/common/editorService';
import { IRange } from 'vs/editor/common/core/range';
import { Registry } from 'vs/platform/registry/common/platform';
import { IQuickAccessRegistry, Extensions } from 'vs/platform/quickinput/common/quickAccess';
import { IQuickAccessRegistry, Extensions as QuickaccessExtensions } from 'vs/platform/quickinput/common/quickAccess';
import { AbstractGotoSymbolQuickAccessProvider, IGotoSymbolQuickPickItem } from 'vs/editor/contrib/quickAccess/gotoSymbolQuickAccess';
import { IConfigurationService } from 'vs/platform/configuration/common/configuration';
import { IWorkbenchEditorConfiguration } from 'vs/workbench/common/editor';
......@@ -18,6 +18,9 @@ import { DisposableStore } from 'vs/base/common/lifecycle';
import { timeout } from 'vs/base/common/async';
import { CancellationToken } from 'vs/base/common/cancellation';
import { Action } from 'vs/base/common/actions';
import { IWorkbenchActionRegistry, Extensions as ActionExtensions } from 'vs/workbench/common/actions';
import { SyncActionDescriptor } from 'vs/platform/actions/common/actions';
import { KeyMod, KeyCode } from 'vs/base/common/keyCodes';
export class GotoSymbolQuickAccessProvider extends AbstractGotoSymbolQuickAccessProvider {
......@@ -96,7 +99,7 @@ export class GotoSymbolQuickAccessProvider extends AbstractGotoSymbolQuickAccess
//#endregion
}
Registry.as<IQuickAccessRegistry>(Extensions.Quickaccess).registerQuickAccessProvider({
Registry.as<IQuickAccessRegistry>(QuickaccessExtensions.Quickaccess).registerQuickAccessProvider({
ctor: GotoSymbolQuickAccessProvider,
prefix: AbstractGotoSymbolQuickAccessProvider.PREFIX,
contextKey: 'inFileSymbolsPicker',
......@@ -124,3 +127,7 @@ export class GotoSymbolAction extends Action {
this.quickInputService.quickAccess.show(GotoSymbolQuickAccessProvider.PREFIX);
}
}
Registry.as<IWorkbenchActionRegistry>(ActionExtensions.WorkbenchActions).registerWorkbenchAction(SyncActionDescriptor.create(GotoSymbolAction, GotoSymbolAction.ID, GotoSymbolAction.LABEL, {
primary: KeyMod.CtrlCmd | KeyMod.Shift | KeyCode.KEY_O
}), 'Go to Symbol in Editor...');
......@@ -15,7 +15,7 @@ import { DisposableStore, toDisposable, dispose } from 'vs/base/common/lifecycle
import { AbstractEditorCommandsQuickAccessProvider } from 'vs/editor/contrib/quickAccess/commandsQuickAccess';
import { IEditor } from 'vs/editor/common/editorCommon';
import { Language } from 'vs/base/common/platform';
import { IInstantiationService, ServicesAccessor } from 'vs/platform/instantiation/common/instantiation';
import { IInstantiationService } from 'vs/platform/instantiation/common/instantiation';
import { IKeybindingService } from 'vs/platform/keybinding/common/keybinding';
import { ICommandService } from 'vs/platform/commands/common/commands';
import { ITelemetryService } from 'vs/platform/telemetry/common/telemetry';
......@@ -27,8 +27,6 @@ import { stripCodicons } from 'vs/base/common/codicons';
import { Action } from 'vs/base/common/actions';
import { IQuickInputService } from 'vs/platform/quickinput/common/quickInput';
import { IStorageService } from 'vs/platform/storage/common/storage';
import { EditorAction } from 'vs/editor/browser/editorExtensions';
import { EditorContextKeys } from 'vs/editor/common/editorContextKeys';
export class CommandsQuickAccessProvider extends AbstractEditorCommandsQuickAccessProvider {
......@@ -174,26 +172,4 @@ export class ClearCommandHistoryAction extends Action {
}
}
export class CommandPaletteEditorAction extends EditorAction {
constructor() {
super({
id: ShowAllCommandsAction.ID,
label: localize('showCommands.label', "Command Palette..."),
alias: 'Command Palette...',
precondition: EditorContextKeys.editorSimpleInput.toNegated(),
contextMenuOpts: {
group: 'z_commands',
order: 1
}
});
}
async run(accessor: ServicesAccessor): Promise<void> {
const quickInputService = accessor.get(IQuickInputService);
quickInputService.quickAccess.show(CommandsQuickAccessProvider.PREFIX);
}
}
//#endregion
......@@ -8,16 +8,14 @@ import { IQuickAccessRegistry, Extensions } from 'vs/platform/quickinput/common/
import { Registry } from 'vs/platform/registry/common/platform';
import { HelpQuickAccessProvider } from 'vs/platform/quickinput/browser/helpQuickAccess';
import { ViewQuickAccessProvider, OpenViewPickerAction, QuickAccessViewPickerAction } from 'vs/workbench/contrib/quickaccess/browser/viewQuickAccess';
import { CommandsQuickAccessProvider, CommandPaletteEditorAction, ShowAllCommandsAction, ClearCommandHistoryAction } from 'vs/workbench/contrib/quickaccess/browser/commandsQuickAccess';
import { registerEditorAction } from 'vs/editor/browser/editorExtensions';
import { CommandsQuickAccessProvider, ShowAllCommandsAction, ClearCommandHistoryAction } from 'vs/workbench/contrib/quickaccess/browser/commandsQuickAccess';
import { MenuRegistry, MenuId, SyncActionDescriptor } from 'vs/platform/actions/common/actions';
import { IWorkbenchActionRegistry, Extensions as ActionExtensions } from 'vs/workbench/common/actions';
import { KeyMod, KeyCode } from 'vs/base/common/keyCodes';
import { GotoLineAction } from 'vs/workbench/contrib/codeEditor/browser/quickaccess/gotoLineQuickAccess';
import { GotoSymbolAction } from 'vs/workbench/contrib/codeEditor/browser/quickaccess/gotoSymbolQuickAccess';
import { ContextKeyExpr } from 'vs/platform/contextkey/common/contextkey';
import { inQuickPickContext, getQuickNavigateHandler } from 'vs/workbench/browser/quickaccess';
import { KeybindingsRegistry, KeybindingWeight } from 'vs/platform/keybinding/common/keybindingsRegistry';
import { EditorContextKeys } from 'vs/editor/common/editorContextKeys';
//#region Quick Access Proviers
......@@ -96,6 +94,16 @@ MenuRegistry.appendMenuItem(MenuId.GlobalActivity, {
order: 1
});
MenuRegistry.appendMenuItem(MenuId.EditorContext, {
group: 'z_commands',
command: {
id: ShowAllCommandsAction.ID,
title: localize('commandPalette', "Command Palette..."),
precondition: EditorContextKeys.editorSimpleInput.toNegated()
},
order: 1
});
//#endregion
......@@ -108,15 +116,6 @@ registry.registerWorkbenchAction(SyncActionDescriptor.create(ShowAllCommandsActi
secondary: [KeyCode.F1]
}), 'Show All Commands');
registry.registerWorkbenchAction(SyncActionDescriptor.create(GotoLineAction, GotoLineAction.ID, GotoLineAction.LABEL, {
primary: KeyMod.CtrlCmd | KeyCode.KEY_G,
mac: { primary: KeyMod.WinCtrl | KeyCode.KEY_G }
}), 'Go to Line/Column...');
registry.registerWorkbenchAction(SyncActionDescriptor.create(GotoSymbolAction, GotoSymbolAction.ID, GotoSymbolAction.LABEL, {
primary: KeyMod.CtrlCmd | KeyMod.Shift | KeyCode.KEY_O
}), 'Go to Symbol in Editor...');
const inViewsPickerContextKey = 'inViewsPicker';
const inViewsPickerContext = ContextKeyExpr.and(inQuickPickContext, ContextKeyExpr.has(inViewsPickerContextKey));
......@@ -151,10 +150,3 @@ KeybindingsRegistry.registerCommandAndKeybindingRule({
});
//#endregion
//#region Actions
registerEditorAction(CommandPaletteEditorAction);
//#endregion
......@@ -184,6 +184,9 @@ export class ViewQuickAccessProvider extends PickerQuickAccessProvider<IViewQuic
}
}
//#region Actions
export class OpenViewPickerAction extends Action {
static readonly ID = 'workbench.action.openView';
......@@ -224,3 +227,5 @@ export class QuickAccessViewPickerAction extends Action {
return Promise.resolve(true);
}
}
//#endregion
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册