menusModule
MS Code Extension API / core/extensionAPI/modules/menusModule
core/extensionAPI/modules/menusModule
Type Aliases
MenusModule
MenusModule =
ReturnType<typeofcreateMenusModule>
Defined in: core/extensionAPI/modules/menusModule.ts:68
Functions
createMenusModule()
createMenusModule(
_extId):object
Defined in: core/extensionAPI/modules/menusModule.ts:9
Parameters
_extId
string
Returns
registerItem
registerItem: (
menuPath,item) =>object
Register a single dynamic menu item into a named menu path. Returns a disposable to remove the item on deactivate.
Parameters
menuPath
string
Target path (e.g., 'editor/context', 'sidebar/files/file-tree/actions')
item
Defines the action, icon, submenu (children), ordering, and structural flatness.
Returns
object
dispose
dispose: () =>
void
Returns
void
Example
const item = mscode.menus.registerItem('editor/title/context', {
id: 'myExt.runFile',
label: 'Run File',
icon: 'play',
order: 0,
onClick: () => console.log("Run executed!")
});
// Later: item.dispose();
registerItems
registerItems: (
menuPath,items) =>object
Register multiple dynamic menu items or complete blocks (with separators) into a named menu path at once. Returns a batch disposable to clean up all injected items on extension deactivate. *
Parameters
menuPath
string
Target path (e.g., 'editor/title', 'editor/context')
items
MenuItem[]
Array of MenuItem objects including separators. *
Returns
object
dispose
dispose: () =>
void
Returns
void
Example
const batch = mscode.menus.registerItems('editor/title', [
{ id: 'ext-feat-1', label: 'Feature One', icon: 'zap', order: 210 },
{ id: 'ext-sep-1', type: 'separator', order: 215 },
{
id: 'ext-feat-2',
label: 'Feature Two',
icon: 'gear',
order: 220 ,
showOnlyWhenSubOptionAvailable: true,
children: [
{ id: 'sub-option-a', label: 'Option A', icon: 'verified-filled', order: 0, onClick: () => commands.executeCommand('extension.myext.a') },
{ id: 'sub-option-b', label: 'Option B', icon: 'verified-filled', order: 1, onClick: () => commands.executeCommand('extension.myext.b') },
],
}
]);