Change:
Version: 1.85.0 Electron: 25.9.7 ElectronBuildId: Chromium: 114.0.5735.289 18.15.0 V8: 11.4.183.29-electron.0 OS: Windows x64 10.0. ( I am using a Python interpter ) Steps to Reproduce: Have at least 1 tab/file open the tab ( at the top ) : The run button disappears It's a very very minor bug and simply you just open another file to have it reappear. !
Thanks for reporting this! It lead to fixing this and other bugs we had :)
I am glad to hear!

Discussion:
import { IAuxiliaryEditorPart, MergeGroupMode } from 'vs/workbench/services/editor/common/editorGroupsService'; import { isMacintosh } from 'vs/base/common/platform'; import { IHostService } from 'vs/workbench/services/host/browser/host'; <ins> import { ServiceCollection } from 'vs/platform/instantiation/common/serviceCollection'; </ins> export class EditorCommandsContextActionRunner extends ActionRunner {

private readonly editorActionsToolbarDisposables = this._register(new DisposableStore()); private readonly editorActionsDisposables = this._register(new DisposableStore()); <ins> private readonly contextMenuContextKeyService: IContextKeyService; </ins> private resourceContext: ResourceContextKey; private editorPinnedContext: IContextKey<boolean>;

) { super(themeService); <del> this.resourceContext = this._register(instantiationService.createInstance(ResourceContextKey)); </del> <ins> this.contextMenuContextKeyService = this._register(this.contextKeyService.createScoped(parent)); const scopedInstantiationService = this.instantiationService.createChild(new ServiceCollection( [IContextKeyService, this.contextMenuContextKeyService], )); </ins> <del> this.editorPinnedContext = ActiveEditorPinnedContext.bindTo(contextKeyService); this.editorIsFirstContext = ActiveEditorFirstInGroupContext.bindTo(contextKeyService); this.editorIsLastContext = ActiveEditorLastInGroupContext.bindTo(contextKeyService); this.editorStickyContext = ActiveEditorStickyContext.bindTo(contextKeyService); this.editorAvailableEditorIds = ActiveEditorAvailableEditorIdsContext.bindTo(this.contextKeyService); </del> <ins> this.resourceContext = this._register(scopedInstantiationService.createInstance(ResourceContextKey)); </ins> <del> this.editorCanSplitInGroupContext = ActiveEditorCanSplitInGroupContext.bindTo(contextKeyService); this.sideBySideEditorContext = SideBySideEditorActiveContext.bindTo(contextKeyService); </del> <ins> this.editorPinnedContext = ActiveEditorPinnedContext.bindTo(this.contextMenuContextKeyService); this.editorIsFirstContext = ActiveEditorFirstInGroupContext.bindTo(this.contextMenuContextKeyService); this.editorIsLastContext = ActiveEditorLastInGroupContext.bindTo(this.contextMenuContextKeyService); this.editorStickyContext = ActiveEditorStickyContext.bindTo(this.contextMenuContextKeyService); this.editorAvailableEditorIds = ActiveEditorAvailableEditorIdsContext.bindTo(this.contextMenuContextKeyService); </ins> <del> this.groupLockedContext = ActiveEditorGroupLockedContext.bindTo(contextKeyService); </del> <ins> this.editorCanSplitInGroupContext = ActiveEditorCanSplitInGroupContext.bindTo(this.contextMenuContextKeyService); this.sideBySideEditorContext = SideBySideEditorActiveContext.bindTo(this.contextMenuContextKeyService); this.groupLockedContext = ActiveEditorGroupLockedContext.bindTo(this.contextMenuContextKeyService); </ins> this.renderDropdownAsChildElement = false;

protected onTabContextMenu(editor: EditorInput, e: Event, node: HTMLElement): void { // Update contexts based on editor picked and remember previous to restore <del> const currentResourceContext = this.resourceContext.get(); </del> this.resourceContext.set(EditorResourceAccessor.getOriginalUri(editor, { supportSideBySide: SideBySideEditor.PRIMARY } ?? null)); <del> const currentPinnedContext = !!this.editorPinnedContext.get(); </del> this.editorPinnedContext.set(this.tabsModel.isPinned(editor)); <del> const currentEditorIsFirstContext = !!this.editorIsFirstContext.get(); </del> this.editorIsFirstContext.set(this.tabsModel.isFirst(editor)); <del> const currentEditorIsLastContext = !!this.editorIsLastContext.get(); </del> this.editorIsLastContext.set(this.tabsModel.isLast(editor)); <del> const currentStickyContext = !!this.editorStickyContext.get(); </del> this.editorStickyContext.set(this.tabsModel.isSticky(editor)); <del> const currentGroupLockedContext = !!this.groupLockedContext.get(); </del> this.groupLockedContext.set(this.tabsModel.isLocked); <del> const currentEditorCanSplitContext = !!this.editorCanSplitInGroupContext.get(); </del> this.editorCanSplitInGroupContext.set(editor.hasCapability(EditorInputCapabilities.CanSplitInGroup)); <del> const currentSideBySideEditorContext = !!this.sideBySideEditorContext.get(); </del> this.sideBySideEditorContext.set(editor.typeId === SideBySideEditorInput.ID); <del> const currentEditorAvailableEditorIds = this.editorAvailableEditorIds.get() ?? ''; </del> applyAvailableEditorIds(this.editorAvailableEditorIds, editor, this.editorResolverService); // Find target anchor

getAnchor: () => anchor, menuId: MenuId.EditorTitleContext, menuActionOptions: { shouldForwardArgs: true, arg: this.resourceContext.get() }, <del> contextKeyService: this.contextKeyService, </del> <ins> contextKeyService: this.contextMenuContextKeyService, </ins> getActionsContext: () => ({ groupId: this.groupView.id, editorIndex: this.groupView.getIndexOfEditor(editor) }), <del> getKeyBinding: action => this.getKeybinding(action), onHide: () => { // restore previous contexts this.resourceContext.set(currentResourceContext || null); this.editorPinnedContext.set(currentPinnedContext); this.editorIsFirstContext.set(currentEditorIsFirstContext); this.editorIsLastContext.set(currentEditorIsLastContext); this.editorStickyContext.set(currentStickyContext); this.groupLockedContext.set(currentGroupLockedContext); this.editorCanSplitInGroupContext.set(currentEditorCanSplitContext); this.sideBySideEditorContext.set(currentSideBySideEditorContext); this.editorAvailableEditorIds.set(currentEditorAvailableEditorIds); // restore focus to active group this.groupsView.activeGroup.focus(); } </del> <ins> getKeyBinding: action => this.keybindingService.lookupKeybinding(action.id, this.contextMenuContextKeyService), onHide: () => this.groupsView.activeGroup.focus() // restore focus to active group </ins> }); }