Skip to content

Interface: WorkspacePropertyPage

Defined in: packages/sdk/src/workspace-service.ts:162

A tab contributed by an extension inside the workspace properties modal. Register via WorkspaceService.registerPropertyPage.

The modal always shows a tab bar; the built-in General tab (name, folders) is first, followed by registered pages sorted by order within each extension.

Properties

id

ts
id: string;

Defined in: packages/sdk/src/workspace-service.ts:164

Unique id, conventionally "<extension-id>.properties".


title

ts
title: string;

Defined in: packages/sdk/src/workspace-service.ts:166

Tab label shown in the tab bar.


icon?

ts
optional icon?: ReactNode;

Defined in: packages/sdk/src/workspace-service.ts:168

Optional icon rendered to the left of the tab label.


component

ts
component: ComponentType<WorkspacePropertyPageProps>;

Defined in: packages/sdk/src/workspace-service.ts:174

The React component rendered as the tab's content. Receives the workspace being edited and the workspace service (WorkspacePropertyPageProps).


visible?

ts
optional visible?: (ws) => boolean;

Defined in: packages/sdk/src/workspace-service.ts:180

Whether this tab should appear for this workspace. Defaults to true (always visible); return false to hide it for workspaces where the extension is not relevant (e.g. a workspace with no git repo).

Parameters

ws

Workspace

Returns

boolean


order?

ts
optional order?: number;

Defined in: packages/sdk/src/workspace-service.ts:185

Sort order within this extension's contributions. Lower values appear first. Defaults to 0.