Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Komut Paleti, geliştiricilerin palet için kendi deneyimlerini oluşturmasına olanak sağlayan tam bir uzantı modeli sağlar.
En up-totarih örnekleri için GitHub'da örnekler projesine göz atın. Bu, Komut Paleti ile mümkün olan her şeyin up-tonumaralı tarihli örneklerini içerir.
Bir şey yapmak için komut oluşturma
IInvokableCommand uygulayan ve Invoke yöntemini uygulayan bir sınıf oluşturun. Kullanıcı Komut Paleti'nde komutu seçtiğinde bu yöntem çağrılır.
class MyCommand : Microsoft.CommandPalette.Extensions.Toolkit.InvokableCommand {
public class MyCommand()
{
Name = "Do it"; // A short name for the command
Icon = new("\uE945"); // Segoe UI LightningBolt
}
// Open GitHub in the user's default web browser
public ICommandResult Invoke() {
Process.Start(new ProcessStartInfo("https://github.com") { UseShellExecute = true });
// Hides the Command Palette window, without changing the page that's open
return CommandResult.Hide();
}
}
Komut sayfası oluşturma
Aşağıdaki örnekte komut sayfası oluşturma gösterilmektedir. Kullanıcı Komut Paleti'nde "Aç" komutunu seçtiğinde bu sayfa gösterilir:
using Microsoft.CommandPalette.Extensions.Toolkit;
class MyPage : ListPage {
public MyPage()
{
Icon = IconHelpers.FromRelativePath("Assets\\StoreLogo.png");
Title = "My sample extension";
Name = "Open";
}
public override IListItem[] GetItems()
{
return [
new ListItem(new OpenUrlCommand("https://github.com"))
{
Title = "Open GitHub",
},
new ListItem(new OpenUrlCommand("https://learn.microsoft.com"))
{
Title = "Open Microsoft Learn",
},
new ListItem(new OpenUrlCommand("https://github.com/microsoft/PowerToys"))
{
Title = "Open PowerToys on GitHub",
},
new ListItem(new CopyTextCommand("Foo bar"))
{
Title = "Copy 'Foo bar' to the clipboard",
},
];
}
}
Simgeler
IIconInfo sınıfını kullanan simgeler çeşitli yollarla belirtilebilir. Aşağıda bazı örnekler verilmiştir:
using Microsoft.CommandPalette.Extensions.Toolkit;
namespace ExtensionName;
internal sealed class Icons
{
// Icons can be specified as a Segoe Fluent icon, ...
internal static IconInfo OpenFile { get; } = new("\uE8E5"); // OpenFile
// ... or as an emoji, ...
internal static IconInfo OpenFileEmoji { get; } = new("📂");
// ... Or as a path to an image file, ...
internal static IconInfo FileExplorer { get; } = IconHelpers.FromRelativePath("Assets\\FileExplorer.png");
// ... which can be on a remote server, or svg's, or ...
internal static IconInfo FileExplorerSvg { get; } = new("https://raw.githubusercontent.com/microsoft/PowerToys/refs/heads/main/src/modules/cmdpal/Exts/Microsoft.CmdPal.Ext.Indexer/Assets/FileExplorer.svg");
// Or they can be embedded in a exe / dll:
internal static IconInfo FolderIcon { get; } = new("%systemroot%\\system32\\system32\\shell32.dll,3");
}
İlgili içerik
Windows developer