Path: blob/main/src/vs/platform/actions/browser/dropdownActionViewItemWithKeybinding.ts
5245 views
/*---------------------------------------------------------------------------------------------1* Copyright (c) Microsoft Corporation. All rights reserved.2* Licensed under the MIT License. See License.txt in the project root for license information.3*--------------------------------------------------------------------------------------------*/45import { IContextMenuProvider } from '../../../base/browser/contextmenu.js';6import { IActionProvider } from '../../../base/browser/ui/dropdown/dropdown.js';7import { DropdownMenuActionViewItem, IDropdownMenuActionViewItemOptions } from '../../../base/browser/ui/dropdown/dropdownActionViewItem.js';8import { IAction } from '../../../base/common/actions.js';9import { IContextKeyService } from '../../contextkey/common/contextkey.js';10import { IKeybindingService } from '../../keybinding/common/keybinding.js';1112export class DropdownMenuActionViewItemWithKeybinding extends DropdownMenuActionViewItem {13constructor(14action: IAction,15menuActionsOrProvider: readonly IAction[] | IActionProvider,16contextMenuProvider: IContextMenuProvider,17options: IDropdownMenuActionViewItemOptions = Object.create(null),18@IKeybindingService private readonly keybindingService: IKeybindingService,19@IContextKeyService private readonly contextKeyService: IContextKeyService,20) {21super(action, menuActionsOrProvider, contextMenuProvider, options);22}2324protected override getTooltip() {25const tooltip = this.action.tooltip ?? this.action.label;26return this.keybindingService.appendKeybinding(tooltip, this.action.id, this.contextKeyService);27}28}293031