diff --git a/src/vs/platform/actions/browser/menuItemActionItem.ts b/src/vs/platform/actions/browser/menuItemActionItem.ts index e60c6a0681c9df6b33e95c0d898e0df94412a2b1..4911507fccb2ee15250149a13c283aacf8d3304f 100644 --- a/src/vs/platform/actions/browser/menuItemActionItem.ts +++ b/src/vs/platform/actions/browser/menuItemActionItem.ts @@ -8,6 +8,8 @@ import {localize} from 'vs/nls'; import {IKeybindingService} from 'vs/platform/keybinding/common/keybindingService'; import {IMenu, MenuItemAction} from 'vs/platform/actions/common/actions'; +import {IMessageService} from 'vs/platform/message/common/message'; +import Severity from 'vs/base/common/severity'; import {IAction} from 'vs/base/common/actions'; import {IDisposable, dispose} from 'vs/base/common/lifecycle'; import {ActionItem, Separator} from 'vs/base/browser/ui/actionbar/actionbar'; @@ -40,9 +42,9 @@ export function fillInActions(menu: IMenu, target: IAction[] | { primary: IActio } -export function createActionItem(action: IAction, keybindingService: IKeybindingService): ActionItem { +export function createActionItem(action: IAction, keybindingService: IKeybindingService, messageService: IMessageService): ActionItem { if (action instanceof MenuItemAction) { - return new MenuItemActionItem(action, keybindingService); + return new MenuItemActionItem(action, keybindingService, messageService); } } @@ -74,7 +76,8 @@ class MenuItemActionItem extends ActionItem { constructor( action: MenuItemAction, - @IKeybindingService private _keybindingService: IKeybindingService + @IKeybindingService private _keybindingService: IKeybindingService, + @IMessageService private _messageService: IMessageService ) { super(undefined, action, { icon: !!action.command.iconClass, label: !action.command.iconClass }); } @@ -88,7 +91,9 @@ class MenuItemActionItem extends ActionItem { event.preventDefault(); event.stopPropagation(); - (this._action).run(this._altKeyDown).done(undefined, console.error); + (this._action).run(this._altKeyDown).done(undefined, err => { + this._messageService.show(Severity.Error, err); + }); } render(container: HTMLElement): void { diff --git a/src/vs/workbench/browser/parts/editor/titleControl.ts b/src/vs/workbench/browser/parts/editor/titleControl.ts index 8996a00432a3fa87235246bd66ef0f2f36af1d3e..0f09217ced11fa072058a520c7ea23b48d20d2b9 100644 --- a/src/vs/workbench/browser/parts/editor/titleControl.ts +++ b/src/vs/workbench/browser/parts/editor/titleControl.ts @@ -268,7 +268,7 @@ export abstract class TitleControl implements ITitleAreaControl { // Check extensions if (!actionItem) { - actionItem = createActionItem(action, this.keybindingService); + actionItem = createActionItem(action, this.keybindingService, this.messageService); } return actionItem;