Skip to content

Dynamic Extension Points #66574

Closed
Closed
@alexdima

Description

@alexdima

We want to be able to dynamically install/enable or uninstall/disable extensions. For this, we need to adopt that extension points are dynamic. This is done by adding isDynamic: true to the registerExtensionPoint call.

When an extension is added/removed at runtime, all of its extension points will have their handlers invoked again. The handler conforms to the following type:

export interface IExtensionPointHandler<T> {
	(extensions: IExtensionPointUser<T>[], delta: ExtensionPointUserDelta<T>): void;
}

The first argument will always be the complete list of extensions that use the extension point and the second (newly added) argument will be the delta since last time the handler was called.


You can test this by having an extension that exercises your extension point and enabling/disabling the extension.

Extension points:

Metadata

Metadata

Labels

extensionsIssues concerning extensionson-testplanplan-itemVS Code - planned item for upcoming

Type

No type

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions