doc/devdocs/modules/launcher/new-plugin-checklist.md
modules\launcher\PluginsMicrosoft.PowerToys.Run.Plugin.{PluginName}Community.PowerToys.Run.Plugin.{PluginName}net9.0-windows10.0.22621.0DynamicPlugin.propsplugin.json file of the following format in its root folder:{
"ID": string, // GUID string
"ActionKeyword": string, // Direct activation phrase
"IsGlobal": boolean,
"Name": string, // Has to be unique, same as 'PluginName' in the project name pattern
"Author": string,
"Version": "1.0.0", // For future compatibility
"Language": "csharp", // So far we support only csharp
"Website": "https://aka.ms/powertoys", // Has to be an absolute uri starting with "http://" or "https://".
"ExecuteFileName": string, // Should be {Type}.PowerToys.Run.Plugin.{PluginName}.dll
"IcoPathDark": string, // Path to dark theme icon. The path is relative to the root plugin folder
"IcoPathLight": string // Path to light theme icon. The path is relative to the root plugin folder
"DynamicLoading": bool // Sets whether the plugin should dynamically load any dependencies isolated from the core application.
}
Main class contains a public, static string property for the PluginID. The plugin id has to be the same as the one in the plugin.jsonfile.public static string PluginID => "xxxxxxx"; // The part xxxxxxx stands for the plugin ID.
Product.wxspipeline.user.windows.ymlSome localization steps can only be done after the first pass by the localization team to provide the localized resources. In the PR that adds a new plugin, reference a new issue to track the work for fully enabling localization for the new plugin.