JPSoftworks.CommandPalette.Extensions.Toolkit 0.9.3-preview.1

This is a prerelease version of JPSoftworks.CommandPalette.Extensions.Toolkit.
dotnet add package JPSoftworks.CommandPalette.Extensions.Toolkit --version 0.9.3-preview.1
                    
NuGet\Install-Package JPSoftworks.CommandPalette.Extensions.Toolkit -Version 0.9.3-preview.1
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="JPSoftworks.CommandPalette.Extensions.Toolkit" Version="0.9.3-preview.1" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="JPSoftworks.CommandPalette.Extensions.Toolkit" Version="0.9.3-preview.1" />
                    
Directory.Packages.props
<PackageReference Include="JPSoftworks.CommandPalette.Extensions.Toolkit" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add JPSoftworks.CommandPalette.Extensions.Toolkit --version 0.9.3-preview.1
                    
#r "nuget: JPSoftworks.CommandPalette.Extensions.Toolkit, 0.9.3-preview.1"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package JPSoftworks.CommandPalette.Extensions.Toolkit@0.9.3-preview.1
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=JPSoftworks.CommandPalette.Extensions.Toolkit&version=0.9.3-preview.1&prerelease
                    
Install as a Cake Addin
#tool nuget:?package=JPSoftworks.CommandPalette.Extensions.Toolkit&version=0.9.3-preview.1&prerelease
                    
Install as a Cake Tool

Logo

Extension Toolkit for Command Palette

An opinionated set of hosting, lifecycle, startup, and diagnostics utilities for Command Palette extensions built on Microsoft.CommandPalette.Extensions.

The API may evolve alongside Command Palette. Preview releases can contain breaking changes.

Highlights

  • Complete host bootstrap — register the COM class factories and run the server message loop with minimal application code.
  • Correct lifetime and shutdown handling — monitor application lifetime, stop when the extension is disposed, unregister the COM server cleanly, and give Command Palette priority to release the extension during system shutdown.
  • Efficiency Mode support — optionally lower process priority and enable Windows Efficiency Mode (EcoQoS) for the extension process.
  • A useful direct-launch experience — open Command Palette or guide users to PowerToys instead of leaving an apparently unresponsive process.
  • Consistent host conventions — centralize debug detection and canonical data paths across every extension.
  • Logging without lock-in — use the built-in rolling file and Command Palette diagnostics, logging-neutral sinks, or optional Microsoft.Extensions.Logging and Serilog integrations.
  • Modern deployment support — target .NET 9 or .NET 10, including trimming and Native AOT on x64 and Arm64.

Compatibility

The Toolkit targets .NET 9 and .NET 10 on Windows. It is Native AOT-compatible and trimmable, with win-x64 and win-arm64 publishes verified for both target frameworks.

The main package does not pin a Windows SDK package version and does not depend on Windows App SDK, WebView2, Microsoft.Extensions.Logging, or Serilog.

Quick start

[MTAThread]
public static async Task Main(string[] args)
{
    await ExtensionHostRunner
        .CreateBuilder(
            args,
            new ExtensionHostRunnerParameters
            {
                PublisherMoniker = "MyCompany",
                ProductMoniker = "MyExtension",
            })
        .AddHostedExtensionFactory(context =>
            new MyExtension(context.ExtensionDisposedEvent))
        .RunAsync();
}

The default runner provides the COM server lifecycle, process monitoring, direct-launch fallback, Efficiency Mode, daily rolling files, and Command Palette diagnostics. Pass -Debug or set ExtensionHostRunnerParameters.IsDebug to enable debug entries consistently.

Packages

Package NuGet Purpose
JPSoftworks.CommandPalette.Extensions.Toolkit Stable Preview Hosting, lifecycle, startup, and built-in diagnostic sinks.
JPSoftworks.CommandPalette.Extensions.Toolkit.Logging.Abstractions Stable Preview Logging-neutral contracts.
JPSoftworks.CommandPalette.Extensions.Toolkit.Logging.MicrosoftExtensions Stable Preview Microsoft.Extensions.Logging providers and host bridge.
JPSoftworks.CommandPalette.Extensions.Toolkit.Logging.Serilog Stable Preview Serilog sinks and host bridge.

Documentation

License

Apache 2.0

Author

Jiří Polášek

Product Compatible and additional computed target framework versions.
.NET net9.0-windows10.0.22621 is compatible.  net10.0-windows was computed.  net10.0-windows10.0.22621 is compatible. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages (2)

Showing the top 2 NuGet packages that depend on JPSoftworks.CommandPalette.Extensions.Toolkit:

Package Downloads
JPSoftworks.CommandPalette.Extensions.Toolkit.Logging.MicrosoftExtensions

Bidirectional adapters between Command Palette extension host diagnostics and Microsoft.Extensions.Logging.

JPSoftworks.CommandPalette.Extensions.Toolkit.Logging.Serilog

Bidirectional adapters between Command Palette extension host diagnostics and Serilog.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
0.9.3-preview.1 33 7/31/2026
0.9.0 211 3/23/2026
0.5.0 269 9/5/2025
0.3.0-preview.5 182 8/19/2025
0.3.0-preview.4 173 8/19/2025
0.3.0-preview.3 169 7/27/2025
0.3.0-preview.2 302 7/26/2025
0.3.0-preview.1 308 7/26/2025
0.0.2 244 5/11/2025
0.0.1 204 5/11/2025