提交 65a35be7 编写于 作者: B Benjamin Pasero

introduce a main quickopen contribution file

上级 c0455807
......@@ -38,9 +38,9 @@ workbenchActionsRegistry.registerWorkbenchAction(new SyncActionDescriptor(Toggle
mac: { primary: KeyMod.CtrlCmd | KeyMod.WinCtrl | KeyCode.KEY_F }
}), viewCategory);
// Configuration
const configurationRegistry = <IConfigurationRegistry>Registry.as(ConfigurationExtensions.Configuration);
// Window Configuration
configurationRegistry.registerConfiguration({
'id': 'window',
'order': 6,
......@@ -66,6 +66,7 @@ configurationRegistry.registerConfiguration({
}
});
// Update Configuration
configurationRegistry.registerConfiguration({
'id': 'update',
'order': 10,
......
......@@ -32,13 +32,14 @@ import {KeybindingsUtils} from 'vs/platform/keybinding/common/keybindingsUtils';
import {IQuickOpenService} from 'vs/workbench/services/quickopen/browser/quickOpenService';
import {KeyMod, KeyCode} from 'vs/base/common/keyCodes';
const ACTION_ID = 'workbench.action.showCommands';
const ACTION_LABEL = nls.localize('showTriggerActions', "Show All Commands");
const ALL_COMMANDS_PREFIX = '>';
const EDITOR_COMMANDS_PREFIX = '$';
export const ALL_COMMANDS_PREFIX = '>';
export const EDITOR_COMMANDS_PREFIX = '$';
export class ShowAllCommandsAction extends QuickOpenAction {
public static ID = 'workbench.action.showCommands';
public static LABEL = nls.localize('showTriggerActions', "Show All Commands");
constructor(actionId: string, actionLabel: string, @IQuickOpenService quickOpenService: IQuickOpenService) {
super(actionId, actionLabel, ALL_COMMANDS_PREFIX, quickOpenService);
}
......@@ -351,21 +352,4 @@ export class QuickCommandsEditorAction extends EditorAction {
return super.run();
}
}
// Register Action
let registry = <IWorkbenchActionRegistry>Registry.as(ActionExtensions.WorkbenchActions);
registry.registerWorkbenchAction(new SyncActionDescriptor(ShowAllCommandsAction, ACTION_ID, ACTION_LABEL, {
primary: KeyMod.CtrlCmd | KeyMod.Shift | KeyCode.KEY_P,
secondary: [KeyCode.F1]
}));
// Register Quick Open Handler
(<IQuickOpenRegistry>Registry.as(QuickOpenExtensions.Quickopen)).registerQuickOpenHandler(
new QuickOpenHandlerDescriptor(
'vs/workbench/parts/quickopen/browser/commandsHandler',
'CommandsHandler',
ALL_COMMANDS_PREFIX,
nls.localize('commandsHandlerDescriptionDefault', "Show and Run Commands")
)
);
\ No newline at end of file
}
\ No newline at end of file
......@@ -24,11 +24,13 @@ import {Position} from 'vs/platform/editor/common/editor';
import {IQuickOpenService} from 'vs/workbench/services/quickopen/browser/quickOpenService';
import {KeyMod, KeyCode} from 'vs/base/common/keyCodes';
const ACTION_ID = 'workbench.action.gotoLine';
const ACTION_LABEL = nls.localize('gotoLine', "Go to Line...");
const GOTO_LINE_PREFIX = ':';
export const GOTO_LINE_PREFIX = ':';
export class GotoLineAction extends QuickOpenAction {
public static ID = 'workbench.action.gotoLine';
public static LABEL = nls.localize('gotoLine', "Go to Line...");
constructor(actionId: string, actionLabel: string, @IQuickOpenService quickOpenService: IQuickOpenService) {
super(actionId, actionLabel, GOTO_LINE_PREFIX, quickOpenService);
}
......@@ -281,27 +283,4 @@ export class GotoLineHandler extends QuickOpenHandler {
autoFocusFirstEntry: searchValue.trim().length > 0
};
}
}
// Register Action
let registry = <IWorkbenchActionRegistry>Registry.as(ActionExtensions.WorkbenchActions);
registry.registerWorkbenchAction(new SyncActionDescriptor(GotoLineAction, ACTION_ID, ACTION_LABEL, {
primary: KeyMod.CtrlCmd | KeyCode.KEY_G,
mac: { primary: KeyMod.WinCtrl | KeyCode.KEY_G }
}));
// Register Quick Open Handler
(<IQuickOpenRegistry>Registry.as(QuickOpenExtensions.Quickopen)).registerQuickOpenHandler(
new QuickOpenHandlerDescriptor(
'vs/workbench/parts/quickopen/browser/gotoLineHandler',
'GotoLineHandler',
GOTO_LINE_PREFIX,
[
{
prefix: GOTO_LINE_PREFIX,
needsEditor: true,
description: env.isMacintosh ? nls.localize('gotoLineDescriptionMac', "Go to Line") : nls.localize('gotoLineDescriptionWin', "Go to Line")
},
]
)
);
\ No newline at end of file
}
\ No newline at end of file
......@@ -33,13 +33,14 @@ import {Position} from 'vs/platform/editor/common/editor';
import {KeyMod, KeyCode} from 'vs/base/common/keyCodes';
import {OutlineRegistry, getOutlineEntries} from 'vs/editor/contrib/quickOpen/common/quickOpen';
const ACTION_ID = 'workbench.action.gotoSymbol';
const ACTION_LABEL = nls.localize('gotoSymbol', "Go to Symbol...");
const GOTO_SYMBOL_PREFIX = '@';
const SCOPE_PREFIX = ':';
export const GOTO_SYMBOL_PREFIX = '@';
export const SCOPE_PREFIX = ':';
export class GotoSymbolAction extends QuickOpenAction {
public static ID = 'workbench.action.gotoSymbol';
public static LABEL = nls.localize('gotoSymbol', "Go to Symbol...");
constructor(actionId: string, actionLabel: string, @IQuickOpenService quickOpenService: IQuickOpenService) {
super(actionId, actionLabel, GOTO_SYMBOL_PREFIX, quickOpenService);
}
......@@ -432,7 +433,7 @@ export class GotoSymbolHandler extends QuickOpenHandler {
if (model && types.isFunction((<ITokenizedModel>model).getMode)) {
canRun = OutlineRegistry.has(<IModel> model);
canRun = OutlineRegistry.has(<IModel>model);
}
}
......@@ -527,7 +528,7 @@ export class GotoSymbolHandler extends QuickOpenHandler {
return TPromise.as(this.outlineToModelCache[modelId]);
}
return getOutlineEntries(<IModel> model).then(outline => {
return getOutlineEntries(<IModel>model).then(outline => {
let model = new OutlineModel(outline, this.toQuickOpenEntries(outline));
......@@ -627,29 +628,4 @@ export class GotoSymbolHandler extends QuickOpenHandler {
this.lastKnownEditorViewState = null;
this.activeOutlineRequest = null;
}
}
// Register Action
let registry = <IWorkbenchActionRegistry>Registry.as(ActionExtensions.WorkbenchActions);
registry.registerWorkbenchAction(new SyncActionDescriptor(GotoSymbolAction, ACTION_ID, ACTION_LABEL, { primary: KeyMod.CtrlCmd | KeyMod.Shift | KeyCode.KEY_O }));
// Register Quick Outline Handler
(<IQuickOpenRegistry>Registry.as(QuickOpenExtensions.Quickopen)).registerQuickOpenHandler(
new QuickOpenHandlerDescriptor(
'vs/workbench/parts/quickopen/browser/gotoSymbolHandler',
'GotoSymbolHandler',
GOTO_SYMBOL_PREFIX,
[
{
prefix: GOTO_SYMBOL_PREFIX,
needsEditor: true,
description: env.isMacintosh ? nls.localize('gotoSymbolDescriptionNormalMac', "Go to Symbol") : nls.localize('gotoSymbolDescriptionNormalWin', "Go to Symbol")
},
{
prefix: GOTO_SYMBOL_PREFIX + SCOPE_PREFIX,
needsEditor: true,
description: nls.localize('gotoSymbolDescriptionScoped', "Go to Symbol by Category")
}
]
)
);
\ No newline at end of file
}
\ No newline at end of file
......@@ -15,7 +15,7 @@ import {ITree, IElementCallback} from 'vs/base/parts/tree/common/tree';
import {QuickOpenHandlerDescriptor, IQuickOpenRegistry, Extensions, QuickOpenHandler} from 'vs/workbench/browser/quickopen';
import {IQuickOpenService} from 'vs/workbench/services/quickopen/browser/quickOpenService';
const HELP_PREFIX = '?';
export const HELP_PREFIX = '?';
class HelpEntry extends QuickOpenEntryItem {
private prefix: string;
......@@ -182,14 +182,4 @@ export class HelpHandler extends QuickOpenHandler {
autoFocusPrefixMatch: searchValue
};
}
}
// Register Quick Open Handler
(<IQuickOpenRegistry>Registry.as(Extensions.Quickopen)).registerQuickOpenHandler(
new QuickOpenHandlerDescriptor(
'vs/workbench/parts/quickopen/browser/helpHandler',
'HelpHandler',
HELP_PREFIX,
nls.localize('helpDescription', "Show Help")
)
);
\ No newline at end of file
}
\ No newline at end of file
......@@ -67,9 +67,8 @@ class MarkerEntry extends QuickOpenEntryItem {
return null;
}
public run(mode:Mode, context:IContext):boolean {
if(mode !== Mode.OPEN) {
public run(mode: Mode, context: IContext): boolean {
if (mode !== Mode.OPEN) {
return false;
}
......@@ -107,7 +106,7 @@ export class MarkersHandler extends QuickOpenHandler {
this._contextService = contextService;
}
public getResults(searchValue:string):TPromise<QuickOpenModel> {
public getResults(searchValue: string): TPromise<QuickOpenModel> {
searchValue = searchValue.trim();
let markers = this._markerService.read({ take: 500 });
......@@ -121,7 +120,6 @@ export class MarkersHandler extends QuickOpenHandler {
}
private static _sort(a: IMarker, b: IMarker): number {
let ret: number;
// 1st: severity matters first
......@@ -144,7 +142,7 @@ export class MarkersHandler extends QuickOpenHandler {
// 4th: start column matters
ret = a.startColumn - b.startColumn;
if(ret !== 0) {
if (ret !== 0) {
return ret;
}
......@@ -153,7 +151,7 @@ export class MarkersHandler extends QuickOpenHandler {
private _filter(marker: IMarker, query: string): boolean {
if(marker.resource.scheme === network.schemas.inMemory) {
if (marker.resource.scheme === network.schemas.inMemory) {
// ignore inmemory-models
return false;
}
......@@ -172,7 +170,7 @@ export class MarkersHandler extends QuickOpenHandler {
return 'marker-handler';
}
public getAutoFocus(searchValue:string):IAutoFocus {
public getAutoFocus(searchValue: string): IAutoFocus {
return {
autoFocusFirstEntry: !!searchValue
};
......@@ -187,7 +185,7 @@ export class MarkersHandler extends QuickOpenHandler {
}
class GotoMarkerAction extends QuickOpenAction {
export class GotoMarkerAction extends QuickOpenAction {
static Prefix = '!';
static Id = 'workbench.action.showErrorsWarnings';
......@@ -196,24 +194,4 @@ class GotoMarkerAction extends QuickOpenAction {
constructor(actionId: string, actionLabel: string, @IQuickOpenService quickOpenService: IQuickOpenService) {
super(actionId, actionLabel, GotoMarkerAction.Prefix, quickOpenService);
}
}
// Register Action
let registry = <IWorkbenchActionRegistry> Registry.as(ActionExtensions.WorkbenchActions);
registry.registerWorkbenchAction(new SyncActionDescriptor(GotoMarkerAction, GotoMarkerAction.Id, GotoMarkerAction.Label, { primary: KeyMod.CtrlCmd | KeyMod.Shift | KeyCode.KEY_M }));
// Register Quick Open Handler
(<IQuickOpenRegistry>Registry.as(QuickOpenExtensions.Quickopen)).registerQuickOpenHandler(
new QuickOpenHandlerDescriptor(
'vs/workbench/parts/quickopen/browser/markersHandler',
'MarkersHandler',
GotoMarkerAction.Prefix,
[
{
prefix: GotoMarkerAction.Prefix,
needsEditor: false,
description: env.isMacintosh ? nls.localize('desc.mac', "Show Errors or Warnings") : nls.localize('desc.win', "Show Errors and Warnings")
},
]
)
);
\ No newline at end of file
}
\ No newline at end of file
/*---------------------------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Licensed under the MIT License. See License.txt in the project root for license information.
*--------------------------------------------------------------------------------------------*/
'use strict';
import env = require('vs/base/common/platform');
import nls = require('vs/nls');
import {QuickOpenHandlerDescriptor, IQuickOpenRegistry, Extensions as QuickOpenExtensions, QuickOpenHandler} from 'vs/workbench/browser/quickopen';
import {Registry} from 'vs/platform/platform';
import {SyncActionDescriptor} from 'vs/platform/actions/common/actions';
import {IWorkbenchActionRegistry, Extensions as ActionExtensions} from 'vs/workbench/browser/actionRegistry';
import {KeyMod, KeyCode} from 'vs/base/common/keyCodes';
import {IConfigurationRegistry, Extensions as ConfigurationExtensions} from 'vs/platform/configuration/common/configurationRegistry';
import {GotoSymbolHandler, GotoSymbolAction, GOTO_SYMBOL_PREFIX, SCOPE_PREFIX} from 'vs/workbench/parts/quickopen/browser/gotoSymbolHandler';
import {CommandsHandler, ShowAllCommandsAction, ALL_COMMANDS_PREFIX} from 'vs/workbench/parts/quickopen/browser/commandsHandler';
import {GotoLineAction, GotoLineHandler, GOTO_LINE_PREFIX} from 'vs/workbench/parts/quickopen/browser/gotoLineHandler';
import {HelpHandler, HELP_PREFIX} from 'vs/workbench/parts/quickopen/browser/helpHandler';
import {MarkersHandler, GotoMarkerAction} from 'vs/workbench/parts/quickopen/browser/markersHandler';
// Register Actions
let registry = <IWorkbenchActionRegistry>Registry.as(ActionExtensions.WorkbenchActions);
registry.registerWorkbenchAction(new SyncActionDescriptor(GotoMarkerAction, GotoMarkerAction.Id, GotoMarkerAction.Label, {
primary: KeyMod.CtrlCmd | KeyMod.Shift | KeyCode.KEY_M
}));
registry.registerWorkbenchAction(new SyncActionDescriptor(ShowAllCommandsAction, ShowAllCommandsAction.ID, ShowAllCommandsAction.LABEL, {
primary: KeyMod.CtrlCmd | KeyMod.Shift | KeyCode.KEY_P,
secondary: [KeyCode.F1]
}));
registry.registerWorkbenchAction(new SyncActionDescriptor(GotoLineAction, GotoLineAction.ID, GotoLineAction.LABEL, {
primary: KeyMod.CtrlCmd | KeyCode.KEY_G,
mac: { primary: KeyMod.WinCtrl | KeyCode.KEY_G }
}));
registry.registerWorkbenchAction(new SyncActionDescriptor(GotoSymbolAction, GotoSymbolAction.ID, GotoSymbolAction.LABEL, {
primary: KeyMod.CtrlCmd | KeyMod.Shift | KeyCode.KEY_O
}));
// Register Quick Open Handler
(<IQuickOpenRegistry>Registry.as(QuickOpenExtensions.Quickopen)).registerQuickOpenHandler(
new QuickOpenHandlerDescriptor(
'vs/workbench/parts/quickopen/browser/markersHandler',
'MarkersHandler',
GotoMarkerAction.Prefix,
[
{
prefix: GotoMarkerAction.Prefix,
needsEditor: false,
description: env.isMacintosh ? nls.localize('desc.mac', "Show Errors or Warnings") : nls.localize('desc.win', "Show Errors and Warnings")
},
]
)
);
(<IQuickOpenRegistry>Registry.as(QuickOpenExtensions.Quickopen)).registerQuickOpenHandler(
new QuickOpenHandlerDescriptor(
'vs/workbench/parts/quickopen/browser/commandsHandler',
'CommandsHandler',
ALL_COMMANDS_PREFIX,
nls.localize('commandsHandlerDescriptionDefault', "Show and Run Commands")
)
);
(<IQuickOpenRegistry>Registry.as(QuickOpenExtensions.Quickopen)).registerQuickOpenHandler(
new QuickOpenHandlerDescriptor(
'vs/workbench/parts/quickopen/browser/gotoLineHandler',
'GotoLineHandler',
GOTO_LINE_PREFIX,
[
{
prefix: GOTO_LINE_PREFIX,
needsEditor: true,
description: env.isMacintosh ? nls.localize('gotoLineDescriptionMac', "Go to Line") : nls.localize('gotoLineDescriptionWin', "Go to Line")
},
]
)
);
(<IQuickOpenRegistry>Registry.as(QuickOpenExtensions.Quickopen)).registerQuickOpenHandler(
new QuickOpenHandlerDescriptor(
'vs/workbench/parts/quickopen/browser/gotoSymbolHandler',
'GotoSymbolHandler',
GOTO_SYMBOL_PREFIX,
[
{
prefix: GOTO_SYMBOL_PREFIX,
needsEditor: true,
description: env.isMacintosh ? nls.localize('gotoSymbolDescriptionNormalMac', "Go to Symbol") : nls.localize('gotoSymbolDescriptionNormalWin', "Go to Symbol")
},
{
prefix: GOTO_SYMBOL_PREFIX + SCOPE_PREFIX,
needsEditor: true,
description: nls.localize('gotoSymbolDescriptionScoped', "Go to Symbol by Category")
}
]
)
);
(<IQuickOpenRegistry>Registry.as(QuickOpenExtensions.Quickopen)).registerQuickOpenHandler(
new QuickOpenHandlerDescriptor(
'vs/workbench/parts/quickopen/browser/helpHandler',
'HelpHandler',
HELP_PREFIX,
nls.localize('helpDescription', "Show Help")
)
);
// Configuration
const configurationRegistry = <IConfigurationRegistry>Registry.as(ConfigurationExtensions.Configuration);
configurationRegistry.registerConfiguration({
'id': 'filter',
'order': 11,
'title': nls.localize('filterConfigurationTitle', "Filter configuration"),
'type': 'object',
'properties': {
'filter.enableFuzzy': {
'type': 'boolean',
'default': false,
'description': nls.localize('enableFuzzy', "Enable or disable fuzzy matching in controls that narrow down while typing.")
}
}
});
\ No newline at end of file
......@@ -31,11 +31,7 @@ define([
'vs/workbench/browser/actions/triggerNavigation',
'vs/workbench/browser/actions/showPerformanceBox',
'vs/workbench/parts/quickopen/browser/gotoSymbolHandler',
'vs/workbench/parts/quickopen/browser/commandsHandler',
'vs/workbench/parts/quickopen/browser/gotoLineHandler',
'vs/workbench/parts/quickopen/browser/helpHandler',
'vs/workbench/parts/quickopen/browser/markersHandler',
'vs/workbench/parts/quickopen/browser/quickopen.contribution',
'vs/workbench/parts/files/browser/explorerViewlet',
'vs/workbench/parts/files/browser/fileActions.contribution',
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册