mirror of
https://github.com/microsoft/PowerToys.git
synced 2025-12-16 11:48:06 +01:00
* new plugin checklist * Fix paths * spellings, paths * fix pattern * make checklist items more specific * Make check boxes, enforce existence of .NET 5 dependency
2.1 KiB
2.1 KiB
New plugin checklist
- The plugin is a project under
modules\launcher\Plugins - Microsoft plugin project name pattern:
Microsoft.PowerToys.Run.Plugin.{PluginName} - Community plugin project name pattern:
Community.PowerToys.Run.Plugin.{PluginName} GlobalSuppressions.csandStyleCop.jsonhave to be included in the plugin project so it follows PowerToys code guidelines- The plugin has to have
{PowerToys version}.0version - Make sure
*.csprojspecify only x64 platform target - The plugin has to contain a
plugin.jsonfile 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",
"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
}
- Do not use plugin name or PowerToys as prefixes for entities inside of the plugin project
- The plugin has to have Unit tests. Use MSTest framework
- To enable localization add
LocProject.jsonfile to the plugin root folder. For details seelocalization.md - Plugin's output code and assets have to be included in the installer
Product.wxs - Test the plugin with a local build. Build the installer, install, check that the plugin works as expected
- All plugin's binaries have to be included in the signed build
pipeline.user.windows.yml - The plugin target framework has to be .NET Core 3.1. All dependencies have to have .NET 5 version