menuStore
MS Code Extension API / store/menuStore
store/menuStore
Interfaces
MenuGroup
Defined in: store/menuStore.ts:67
Properties
options
options:
MenuItem[]
Defined in: store/menuStore.ts:68
MenuItem
Defined in: store/menuStore.ts:10
Represents a dynamically resolvable node in the hierarchical context menu tree. Used by Context Menus, Sidebar Actions, and Activity Bar tools.
Properties
checked?
optionalchecked?:boolean
Defined in: store/menuStore.ts:20
If true, renders a checkmark next to the item.
children?
optionalchildren?:MenuItem[]
Defined in: store/menuStore.ts:37
Nested sub-menu items.
data?
optionaldata?:any
Defined in: store/menuStore.ts:43
Custom payload to pass into the onClick handler.
description?
optionaldescription?:string
Defined in: store/menuStore.ts:26
Additional sub-text or tooltip description.
disabled?
optionaldisabled?:boolean
Defined in: store/menuStore.ts:22
If true, the item appears grayed out and cannot be clicked.
flat?
optionalflat?:number|boolean
Defined in: store/menuStore.ts:64
The Flat Unpack 🪄
trueor1: Unwraps allchildrenand injects them directly into the parent menu level.false: Strictly treats this item as a nested Submenu (folder).undefined: Uses Auto-Hoist (If there's exactly 1 child, it auto-flattens; if >1, it packs into a submenu).
icon?
optionalicon?:any
Defined in: store/menuStore.ts:18
Codicon name or custom SVG node to display next to the label.
id
id:
string
Defined in: store/menuStore.ts:12
Unique identifier for the menu item.
label?
optionallabel?:string
Defined in: store/menuStore.ts:16
The text displayed to the user. Leave empty if acting as a headless flat container.
onClick?
optionalonClick?: (data?) =>void
Defined in: store/menuStore.ts:40
Execution callback. Receives optional bound data.
Parameters
data?
any
Returns
void
order?
optionalorder?:number
Defined in: store/menuStore.ts:50
Sorting weight. Lower numbers appear higher in the menu.
Default
0
shortcut?
optionalshortcut?:string
Defined in: store/menuStore.ts:24
Keyboard shortcut text to display (e.g., 'Ctrl+Shift+P').
showOnlyWhenSubOptionAvailable?
optionalshowOnlyWhenSubOptionAvailable?:boolean
Defined in: store/menuStore.ts:34
If true, this item will hide itself if its children array is empty after resolution.
type?
optionaltype?:"item"|"separator"
Defined in: store/menuStore.ts:14
Defines if the item is a standard clickable 'item' or a visual 'separator'.
views?
optionalviews?:any[]
Defined in: store/menuStore.ts:56
Internal directive used by SidebarEngine to automatically inject togglers (Show/Hide) for sidebar collapsible sections.
when?
optionalwhen?:string|boolean
Defined in: store/menuStore.ts:31
Context expression (e.g., 'workspacePath != null') or boolean. If evaluated to false, this item is completely removed from the DOM.
MenuState
Defined in: store/menuStore.ts:71
Properties
closeMenu
closeMenu: () =>
void
Defined in: store/menuStore.ts:80
Returns
void
isOpen
isOpen:
boolean
Defined in: store/menuStore.ts:72
items
items:
MenuItem[]
Defined in: store/menuStore.ts:74
openMenu
openMenu: (
menuId,x,y,defaultItems?) =>void
Defined in: store/menuStore.ts:76
Parameters
menuId
string
x
number
y
number
defaultItems?
Returns
void
openMenuDirect
openMenuDirect: (
x,y,items) =>void
Defined in: store/menuStore.ts:79
Parameters
x
number
y
number
items
MenuItem[]
Returns
void
position
position:
object
Defined in: store/menuStore.ts:73
x
x:
number
y
y:
number
registeredMenus
registeredMenus:
Record<string,MenuItem[]>
Defined in: store/menuStore.ts:83
Dynamic registry for injected menu contributions via extensions or plugins
registerMenuItem
registerMenuItem: (
menuPath,item) =>void
Defined in: store/menuStore.ts:84
Parameters
menuPath
string
item
Returns
void
registerMenuItems
registerMenuItems: (
menuPath,item) =>void
Defined in: store/menuStore.ts:86
registerMenuItems takes array , and takes multiple menus options
Parameters
menuPath
string
item
Returns
void
unregisterMenuItem
unregisterMenuItem: (
menuPath,itemId) =>void
Defined in: store/menuStore.ts:88
Parameters
menuPath
string
itemId
string
Returns
void
unregisterMenuItems
unregisterMenuItems: (
menuPath,itemIds) =>void
Defined in: store/menuStore.ts:89
Parameters
menuPath
string
itemIds
string[]
Returns
void
Variables
useMenuStore
constuseMenuStore:UseBoundStore<StoreApi<MenuState>>
Defined in: store/menuStore.ts:92
Functions
getResolvedMenu()
getResolvedMenu(
menuId,defaults?):MenuItem[]
Defined in: store/menuStore.ts:196
Parameters
menuId
string
defaults?
Returns
MenuItem[]