XamlVisualEditor extensions are native .NET packages. A package contains
xve.extension.json at the package root and an assembly implementing
IXveExtension.
using XamlVisualEditor.Extensions;
public sealed class MyExtension : IXveExtension
{
public Task ActivateAsync(ExtensionContext context, CancellationToken ct)
{
context.Subscriptions.Add(context.Commands.Register(
"sample.sayHello",
_ => context.Window.ShowInformationMessageAsync("Hello", ct)));
return Task.CompletedTask;
}
}
Sample packages live under tools/ExtensionSamples:
dotnet pack tools/ExtensionSamples/HelloExtension/HelloExtension.csproj -c Release
dotnet pack tools/ExtensionSamples/LspExtension/LspExtension.csproj -c Release
For deeper details, see the internal extension docs:
docs/EXTENSIONS.mddocs/EXTENSION-API.mddocs/VSCODE-MIGRATION.md