Skip to content

Interface: Command

Defined in: packages/sdk/src/types.ts:248

A named, invokable action. Register with ExtensionContext.registerCommand and trigger from menu items, keybindings, status items, or ExtensionContext.executeCommand.

Properties

id

ts
id: string;

Defined in: packages/sdk/src/types.ts:250

Unique id, conventionally area.verb (e.g. "view.toggleLeftPanel").


label

ts
label: string;

Defined in: packages/sdk/src/types.ts:252

Human-readable label (shown where the command surfaces in UI).


run

ts
run: (...args) => unknown;

Defined in: packages/sdk/src/types.ts:261

The action. May accept arguments passed through from ExtensionContext.executeCommand and may return a value (sync or async); executeCommand resolves with whatever this returns.

Zero-argument, void-returning commands are still valid — () => void satisfies this type, so existing registrations compile unchanged.

Parameters

args

...unknown[]

Returns

unknown