Change:
Could look like this, but have and/or tasks entries as well as a one. Hiding it by default is a good way to avoid cluttering the action bar - so people only see it if they want to <img width="285" alt="Screen Shot 2022-09-30 at 12 56 57 PM" src="https://user-"
cc
Talked w Kai and we're thinking to instead add a action to the terminal dropdown which aligns with the menu and will aid in discoverability !

Discussion:
this._primaryAction = new MenuEntryActionViewItem(primaryAction, undefined, _keybindingService, _notificationService, _contextKeyService, _themeService, _contextMenuProvider); this._dropdown = new DropdownMenuActionViewItem(dropdownAction, dropdownMenuActions, this._contextMenuProvider, { menuAsChild: true, <del> classNames: ['codicon', 'codicon-chevron-down'], </del> <ins> classNames: ['codicon', 'codicon-chevron-down', className], </ins> keybindingProvider: this._options?.getKeyBinding }); }

import { ContextKeyExpr } from 'vs/platform/contextkey/common/contextkey'; import { IExtensionTerminalProfile, ITerminalProfile, TerminalLocation, TerminalSettingId } from 'vs/platform/terminal/common/terminal'; import { ResourceContextKey } from 'vs/workbench/common/contextkeys'; <ins> import { TaskExecutionSupportedContext } from 'vs/workbench/contrib/tasks/common/taskService'; </ins> import { ICreateTerminalOptions, ITerminalLocationOptions, ITerminalService } from 'vs/workbench/contrib/terminal/browser/terminal'; import { TerminalCommandId, TERMINAL_VIEW_ID } from 'vs/workbench/contrib/terminal/common/terminal'; import { TerminalContextKeys, TerminalContextKeyStrings } from 'vs/workbench/contrib/terminal/common/terminalContextKey';

Config = '5_config' } <del> export const enum TerminalTabContextMenuGroup { Default = '1_create_default', Profile = '2_create_profile', Configure = '3_configure' } </del> export const enum TerminalMenuBarGroup { Create = '1_create', Run = '2_run',

item: { command: { id: TerminalCommandId.SelectDefaultProfile, <del> title: { value: localize('workbench.action.terminal.selectDefaultProfile', "Select Default Profile"), original: 'Select Default Profile' } </del> <ins> title: { value: localize('workbench.action.terminal.selectDefaultProfile', "Select Default Profile"), original: 'Select Default Profile' }, </ins> }, <del> group: TerminalTabContextMenuGroup.Configure </del> <ins> group: '3_configure' </ins> } }, {

id: TerminalCommandId.ConfigureTerminalSettings, title: localize('workbench.action.terminal.openSettings', "Configure Terminal Settings") }, <del> group: TerminalTabContextMenuGroup.Configure </del> <ins> group: '3_configure' </ins> } <ins> }, { id: MenuId.TerminalNewDropdownContext, item: { command: { id: 'workbench.action.tasks.runTask', title: localize('workbench.action.tasks.runTask', "Run Task...") }, when: TaskExecutionSupportedContext, group: '4_tasks', order: 1 }, }, { id: MenuId.TerminalNewDropdownContext, item: { command: { id: 'workbench.action.tasks.configureTaskRunner', title: localize('workbench.action.tasks.configureTaskRunner', "Configure Tasks...") }, when: TaskExecutionSupportedContext, group: '4_tasks', order: 2 }, </ins> } ] );

dropdownActions.push(new SubmenuAction('split.profile', localize('splitTerminal', 'Split Terminal'), submenuActions)); dropdownActions.push(new Separator()); } <del> for (const [, configureActions] of dropdownMenu.getActions()) { for (const action of configureActions) { // make sure the action is a MenuItemAction if ('alt' in action) { dropdownActions.push(action); } } } </del> <ins> const actions = dropdownMenu.getActions(); dropdownActions.push(...Separator.join(...actions.map(a => a[1]))); </ins> const defaultSubmenuProfileAction = submenuActions.find(d => d.label.endsWith('(Default)')); if (defaultSubmenuProfileAction) {