Interface: LayoutService
Defined in: packages/sdk/src/layout-service.ts:40
Consumer API for app layout, exposed as ExtensionContext.layout. Read side-panel collapse state and drive it.
Methods
getState()
getState(): LayoutState;Defined in: packages/sdk/src/layout-service.ts:42
Current frozen layout state.
Returns
subscribe()
subscribe(listener): Disposable;Defined in: packages/sdk/src/layout-service.ts:44
Subscribe to layout changes; dispose to stop.
Parameters
listener
(s) => void
Returns
toggleSidePanel()
toggleSidePanel(location): void;Defined in: packages/sdk/src/layout-service.ts:46
Toggle a side column between collapsed and expanded.
Parameters
location
Returns
void
setSidePanelCollapsed()
setSidePanelCollapsed(location, collapsed): void;Defined in: packages/sdk/src/layout-service.ts:48
Set a side column's collapsed state explicitly.
Parameters
location
collapsed
boolean
Returns
void
revealSidePanel()
revealSidePanel(id): void;Defined in: packages/sdk/src/layout-service.ts:55
Reveal a registered side panel by its SidePanel.id: make it the active panel in its column and expand that column if collapsed. Use to bring a panel to the foreground from a command or keybinding (e.g. "Find in Files" focusing the Search panel). No-op if no panel with that id is registered.
Parameters
id
string
Returns
void
openPanel()
openPanel(
kindId,
params?,
options?): void;Defined in: packages/sdk/src/layout-service.ts:71
Open a new tab in the center dock for the given registered DockPanelKind. Use this to programmatically open a custom panel kind from a command (e.g. a "Web Viewer: Open" command that creates a new web-viewer tab). No-op when the center dock has no active workspace.
Parameters
kindId
string
The DockPanelKind.id to instantiate.
params?
Record<string, unknown>
Arbitrary params forwarded to the panel component. Serialized into ws.dockLayout so state survives workspace close/reopen.
options?
singleton: true opens at most one instance at a time: if a panel with kindId already exists, it is focused instead of creating a new one. The panel's id equals kindId (not UUID-based) when singleton is set.
singleton?
boolean
Returns
void
openSingletonPanel()
openSingletonPanel(kindId, params?): void;Defined in: packages/sdk/src/layout-service.ts:81
Open a singleton dock panel.
Parameters
kindId
string
params?
Record<string, unknown>
Returns
void
Deprecated
Use openPanel(kindId, params, { singleton: true }) instead. This method will be removed in a future release.