You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Also added some details to the publishing page that need to be reviewed and updated. What are the pre-reqs? Do any of the other pages need developer pre-reqs?
Copy file name to clipboardExpand all lines: hub/powertoys/command-palette/creating-an-extension.md
+14-8Lines changed: 14 additions & 8 deletions
Original file line number
Diff line number
Diff line change
@@ -1,6 +1,6 @@
1
1
---
2
2
title: Command Palette Extensibility
3
-
description: The Command Palette provides a full extension model, allowing developers to create their own experiences for the palette. Find info about how to create an extension and publish it along with samples.
3
+
description: The Command Palette provides a full extension model, allowing you to create custom experiences for the palette. Learn how to create an extension and publish it.
The Command Palette provides a full extension model, allowing developers to create their own experiences for the palette. This document provides information about how to create an extension and publish it. It also includes a sample extension that demonstrates the extensibility model.
13
+
12
14
## Registering your extension
13
15
14
16
Extensions can register themselves with the Command Palette using their `.appxmanifest`. As an example:
15
17
16
-
```XML
18
+
```xml
17
19
<Extensions>
18
20
<com:ExtensionCategory="windows.comServer">
19
21
<com:ComServer>
@@ -43,14 +45,18 @@ Extensions can register themselves with the Command Palette using their `.appxma
43
45
</Extensions>
44
46
```
45
47
46
-
Notable elements:
47
-
48
-
- The application must specify a `Extensions.comExtension.ComServer` to host their COM class. This allows for the OS to register that GUID as a COM class we can instantiate.
48
+
### Important notes
49
49
50
-
- Make sure that this CLSID is unique, and matches the one in your application
50
+
Some notable elements about the manifest example:
51
51
52
+
- The application must specify a `Extensions.comExtension.ComServer` to host their COM class. This allows for the OS to register that GUID as a COM class we can instantiate.
53
+
- Make sure that this CLSID is unique, and matches the one in your application
52
54
- The application must specify a `Extensions.uap3Extension.AppExtension` with the Name set to `com.microsoft.commandpalette`. This is the unique identifier which DevPal can use to find it's extensions.
53
-
54
55
- In the `Properties` of your `AppExtension`, you must specify a `CmdPalProvider` element. This is where you specify the CLSID of the COM class that DevPal will instantiate to interact with your extension. Also, you specify which interfaces you support.
55
56
56
-
Currently, only `Commands` is supported. If we need to add more in the future, we can add them to the `SupportedInterfaces` element.
57
+
Currently, only `Commands` is supported. If we need to add more in the future, they will be added to the `SupportedInterfaces` element.
Copy file name to clipboardExpand all lines: hub/powertoys/command-palette/overview.md
+7-1Lines changed: 7 additions & 1 deletion
Original file line number
Diff line number
Diff line change
@@ -39,4 +39,10 @@ The following general options are available within the Command Palette settings
39
39
| Highlight search on activate | The previous search text will be selected when the Command Palette is opened. |
40
40
| Show app details | App details are automatically expanded when displaying an app as a result. |
41
41
| Backspace goes back | Typing <kbd>Backspace</kbd> will take you back to the previous page. |
42
-
| Single-click activates | Activate list items with a single click. When disabled, single clicking selects the item and double clicking activates it. |
42
+
| Single-click activates | Activate list items with a single click. When disabled, single clicking selects the item and double clicking activates it. |
description: The Command Palette provides a full extension model, allowing developers to create their own experiences for the palette. Find info about how to publish an extension.
3
+
description: The Command Palette provides a full extension model, allowing you to create custom experiences for the palette. Find info about how to publish an extension.
The Command Palette provides a full extension model, allowing developers to create their own experiences for the palette. This document provides information about how to publish an extension.
13
+
14
+
There is a "Sample Project" template included with the Command Palette. This can be used to quickly generate a project that creates a new extension. This will include the `.sln`, `.csproj`, and `.appxmanifest` files needed to create a new extension, as well as the plumbing to get it ready to be published. You will then open the project to the **MyCommandProvider** class and implement your commands.
15
+
16
+
## Pre-requisites
17
+
18
+
The following tools are required to build and publish your extension:
19
+
20
+
??
21
+
12
22
## Microsoft Store
13
23
24
+
Command Palette extensions can be published to the Microsoft Store. The process is similar to publishing other apps or extensions. You create a new submission in the Partner Center and upload your `.appx` package. The Command Palette automatically discovers your extension when it's installed from the Microsoft Store.
25
+
14
26
## WinGet
27
+
28
+
As a part of the project template, there's a WinGet GitHub Actions workflow that allows you to publish your extension to the WinGet repository with the necessary tags to make it discoverable by the Command Palette. So, you don't need to understand the details of packaging. You add the extension to your GitHub repository and let the your GitHub Actions pipeline handle the publishing.
Copy file name to clipboardExpand all lines: hub/powertoys/command-palette/samples.md
+9-2Lines changed: 9 additions & 2 deletions
Original file line number
Diff line number
Diff line change
@@ -1,6 +1,6 @@
1
1
---
2
2
title: Command Palette Extension Samples
3
-
description: The Command Palette provides a full extension model, allowing developers to create their own experiences for the palette. Find available samples to get started with creating an extension.
3
+
description: The Command Palette provides a full extension model, allowing you to create custom experiences for the palette. Find samples to start creating an extension.
The Command Palette provides a full extension model, allowing developers to create their own experiences for the palette. This document provides information about how to create an extension and publish it. It also includes a sample extension that demonstrates the extensibility model.
13
+
12
14
## Add a command
13
15
14
16
Create a class that implements [ICommand](./microsoft-commandpalette-extensions/icommand.md) and implement the [Invoke](./microsoft-commandpalette-extensions/iinvokablecommand_invoke.md) method. This method will be called whtn the user selects the command in the Command Palette.
0 commit comments