提交 bea60846 编写于 作者: J Johannes Rieken

go to def, peek def action as context menu contributions

上级 d6c30d7c
...@@ -35,9 +35,9 @@ export interface IEditorCommandKeybindingOptions extends IKeybindings { ...@@ -35,9 +35,9 @@ export interface IEditorCommandKeybindingOptions extends IKeybindings {
context: ContextKey; context: ContextKey;
} }
export interface IEditorCommandMenuOptions { export interface IEditorCommandMenuOptions {
menu: MenuId; kbExpr: KbExpr;
menu?: MenuId;
group?: string; group?: string;
kbExpr?: KbExpr;
} }
// --- Editor Actions // --- Editor Actions
...@@ -204,7 +204,7 @@ class EditorContributionRegistry { ...@@ -204,7 +204,7 @@ class EditorContributionRegistry {
if (desc.menuOpts) { if (desc.menuOpts) {
let {menu, kbExpr, group} = desc.menuOpts; let {menu, kbExpr, group} = desc.menuOpts;
MenuRegistry.appendMenuItem(menu, { MenuRegistry.appendMenuItem(menu || MenuId.EditorContext, {
command: { command: {
id: desc.id, id: desc.id,
title: desc.label title: desc.label
......
...@@ -7,6 +7,7 @@ ...@@ -7,6 +7,7 @@
import 'vs/css!./goToDeclaration'; import 'vs/css!./goToDeclaration';
import * as nls from 'vs/nls'; import * as nls from 'vs/nls';
import {KbExpr} from 'vs/platform/keybinding/common/keybinding';
import {Throttler} from 'vs/base/common/async'; import {Throttler} from 'vs/base/common/async';
import {onUnexpectedError} from 'vs/base/common/errors'; import {onUnexpectedError} from 'vs/base/common/errors';
import {MarkedString, textToMarkedString} from 'vs/base/common/htmlContent'; import {MarkedString, textToMarkedString} from 'vs/base/common/htmlContent';
...@@ -38,7 +39,7 @@ import {optional} from 'vs/platform/instantiation/common/instantiation'; ...@@ -38,7 +39,7 @@ import {optional} from 'vs/platform/instantiation/common/instantiation';
export class DefinitionActionConfig { export class DefinitionActionConfig {
constructor( constructor(
public condition = Behaviour.WidgetFocus | Behaviour.ShowInContextMenu | Behaviour.UpdateOnCursorPositionChange, public condition = Behaviour.WidgetFocus | Behaviour.UpdateOnCursorPositionChange,
public openToSide = false, public openToSide = false,
public openInPeek = false, public openInPeek = false,
public filterCurrent = true public filterCurrent = true
...@@ -59,10 +60,6 @@ export class DefinitionAction extends EditorAction { ...@@ -59,10 +60,6 @@ export class DefinitionAction extends EditorAction {
super(descriptor, editor, _configuration.condition); super(descriptor, editor, _configuration.condition);
} }
public getGroupId(): string {
return '1_goto/2_visitDefinition';
}
public isSupported(): boolean { public isSupported(): boolean {
return DefinitionProviderRegistry.has(this.editor.getModel()) && super.isSupported(); return DefinitionProviderRegistry.has(this.editor.getModel()) && super.isSupported();
} }
...@@ -483,23 +480,41 @@ class GotoDefinitionWithMouseEditorContribution implements editorCommon.IEditorC ...@@ -483,23 +480,41 @@ class GotoDefinitionWithMouseEditorContribution implements editorCommon.IEditorC
} }
// register actions // register actions
CommonEditorRegistry.registerEditorAction(new EditorActionDescriptor(PeekDefinitionAction, PeekDefinitionAction.ID, nls.localize('actions.previewDecl.label', "Peek Definition"), {
context: ContextKey.EditorTextFocus,
primary: KeyMod.Alt | KeyCode.F12,
linux: { primary: KeyMod.CtrlCmd | KeyMod.Shift | KeyCode.F10 },
}, 'Peek Definition'));
let goToDeclarationKb: number;
if (platform.isWeb) {
goToDeclarationKb = KeyMod.CtrlCmd | KeyCode.F12;
} else {
goToDeclarationKb = KeyCode.F12;
}
CommonEditorRegistry.registerEditorAction(new EditorActionDescriptor(GoToDefinitionAction, GoToDefinitionAction.ID, nls.localize('actions.goToDecl.label', "Go to Definition"), { CommonEditorRegistry.registerEditorAction({
context: ContextKey.EditorTextFocus, id: PeekDefinitionAction.ID,
primary: goToDeclarationKb ctor: PeekDefinitionAction,
}, 'Go to Definition')); label: nls.localize('actions.previewDecl.label', "Peek Definition"),
alias: 'Peek Definition',
kbOpts: {
context: ContextKey.EditorTextFocus,
primary: KeyMod.Alt | KeyCode.F12,
linux: { primary: KeyMod.CtrlCmd | KeyMod.Shift | KeyCode.F10 }
},
menuOpts: {
group: 'navigation@11',
kbExpr: KbExpr.has('editorHasDefinitionProvider')
}
});
const goToDeclarationKb = platform.isWeb
? KeyMod.CtrlCmd | KeyCode.F12
: KeyCode.F12;
CommonEditorRegistry.registerEditorAction({
ctor: GoToDefinitionAction,
id: GoToDefinitionAction.ID,
label: nls.localize('actions.goToDecl.label', "Go to Definition"),
alias: 'Go to Definition',
kbOpts: {
context: ContextKey.EditorTextFocus,
primary: goToDeclarationKb
},
menuOpts: {
group: 'navigation@10',
kbExpr: KbExpr.has('editorHasDefinitionProvider')
}
});
CommonEditorRegistry.registerEditorAction(new EditorActionDescriptor(OpenDefinitionToSideAction, OpenDefinitionToSideAction.ID, nls.localize('actions.goToDeclToSide.label', "Open Definition to the Side"), { CommonEditorRegistry.registerEditorAction(new EditorActionDescriptor(OpenDefinitionToSideAction, OpenDefinitionToSideAction.ID, nls.localize('actions.goToDeclToSide.label', "Open Definition to the Side"), {
context: ContextKey.EditorTextFocus, context: ContextKey.EditorTextFocus,
......
...@@ -25,7 +25,6 @@ import {provideReferences} from '../common/referenceSearch'; ...@@ -25,7 +25,6 @@ import {provideReferences} from '../common/referenceSearch';
import {ReferenceWidget} from './referencesWidget'; import {ReferenceWidget} from './referencesWidget';
import {ReferencesController, RequestOptions, ctxReferenceSearchVisible} from './referencesController'; import {ReferencesController, RequestOptions, ctxReferenceSearchVisible} from './referencesController';
import {ReferencesModel} from './referencesModel'; import {ReferencesModel} from './referencesModel';
import {MenuId} from 'vs/platform/actions/common/actions';
import {ServicesAccessor} from 'vs/platform/instantiation/common/instantiation'; import {ServicesAccessor} from 'vs/platform/instantiation/common/instantiation';
const defaultReferenceSearchOptions: RequestOptions = { const defaultReferenceSearchOptions: RequestOptions = {
...@@ -141,7 +140,6 @@ CommonEditorRegistry.registerEditorAction({ ...@@ -141,7 +140,6 @@ CommonEditorRegistry.registerEditorAction({
primary: KeyMod.Shift | KeyCode.F12 primary: KeyMod.Shift | KeyCode.F12
}, },
menuOpts: { menuOpts: {
menu: MenuId.EditorContext,
kbExpr: KbExpr.has('editorHasReferenceProvider'), kbExpr: KbExpr.has('editorHasReferenceProvider'),
group: 'navigation' group: 'navigation'
} }
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册