diff --git a/src/vs/workbench/browser/parts/editor/tabsTitleControl.ts b/src/vs/workbench/browser/parts/editor/tabsTitleControl.ts index 433aaccd5abd31204548013c25299005e4ac8118..87ba4f2a12c9c3a7806eb8d88f478af1b05c357c 100644 --- a/src/vs/workbench/browser/parts/editor/tabsTitleControl.ts +++ b/src/vs/workbench/browser/parts/editor/tabsTitleControl.ts @@ -9,6 +9,7 @@ import 'vs/css!./media/tabstitle'; import {TPromise} from 'vs/base/common/winjs.base'; import nls = require('vs/nls'); import {IAction} from 'vs/base/common/actions'; +import {prepareActions} from 'vs/workbench/browser/actionBarRegistry'; import arrays = require('vs/base/common/arrays'); import errors = require('vs/base/common/errors'); import DOM = require('vs/base/browser/dom'); @@ -267,19 +268,30 @@ export class TabsTitleControl extends TitleControl { } private getTabActions(editor: IEditorInput, group: IEditorGroup): IAction[] { + const editorActions = this.getEditorActions(group); // Enablement this.closeOtherEditorsAction.enabled = group.count > 1; this.pinEditorAction.enabled = !group.isPinned(editor); // Actions - return [ + const actions:IAction[] = [ this.closeEditorAction, this.closeOtherEditorsAction, this.closeAllEditorsAction, new Separator(), - this.pinEditorAction + this.pinEditorAction, ]; + + if (editorActions.primary.length) { + actions.push(new Separator(), ...prepareActions(editorActions.primary)); + } + + if (editorActions.secondary.length) { + actions.push(new Separator(), ...prepareActions(editorActions.secondary)); + } + + return actions; } public dispose(): void { diff --git a/src/vs/workbench/browser/parts/editor/titleControl.ts b/src/vs/workbench/browser/parts/editor/titleControl.ts index eea049793a4566c0a170fde00abdbb6ececfe98f..5f43321d0caef1434cfaf7e7269315ff3bb2e88e 100644 --- a/src/vs/workbench/browser/parts/editor/titleControl.ts +++ b/src/vs/workbench/browser/parts/editor/titleControl.ts @@ -200,9 +200,9 @@ export abstract class TitleControl { return { primary, secondary }; } - protected getEditorActionsForContext(context: BaseEditor): IToolbarActions; - protected getEditorActionsForContext(context: IEditorInputActionContext): IToolbarActions; - protected getEditorActionsForContext(context: any): IToolbarActions { + private getEditorActionsForContext(context: BaseEditor): IToolbarActions; + private getEditorActionsForContext(context: IEditorInputActionContext): IToolbarActions; + private getEditorActionsForContext(context: any): IToolbarActions { let primaryActions: IAction[] = []; let secondaryActions: IAction[] = [];