将菜单和命令添加到 Visual Studio 扩展
本文将指导你完成将菜单和命令添加到 Visual Studio 扩展的步骤。 命令最常用作 Visual Studio 周围菜单中的按钮。 若要创建命令,需要执行两个步骤:
- 定义命令
- 处理单击/调用
定义命令
每个菜单中的每个按钮都是一个命令。 若要将命令添加到扩展,必须先在 .vsct 文件中定义它。 它可能如下所示:
<Buttons>
<Button guid="MyPackage" id="MyCommand" priority="0x0105" type="Button">
<Parent guid="VSMainMenu" id="View.DevWindowsGroup.OtherWindows.Group1"/>
<Icon guid="ImageCatalogGuid" id="StatusInformation" />
<CommandFlag>IconIsMoniker</CommandFlag>
<Strings>
<ButtonText>R&unner Window</ButtonText>
</Strings>
</Button>
</Buttons>
此按钮位于元素中指定的“查看>其他 Windows”菜单中的Parent
父组中。
现在可以立即运行扩展,以查看命令是否显示在正确的位置和菜单中。
处理单击/调用
定义按钮后,我们需要处理调用按钮时发生的情况。 我们在如下所示的 C# 类中执行此操作:
[Command("489ba882-f600-4c8b-89db-eb366a4ee3b3", 0x0100)]
public class MyCommand : BaseCommand<TestCommand>
{
protected override Task ExecuteAsync(OleMenuCmdEventArgs e)
{
// Do something
}
}
请确保从 Package
类 InitializeAsync
的方法调用它。
protected override async Task InitializeAsync(CancellationToken cancellationToken, IProgress<ServiceProgressData> progress)
{
await this.RegisterCommandsAsync();
}
命令 Guid 和 ID 必须与 .vsct 文件中元素的 guid/id 对 Button
匹配