请看这个问题。
最初的问题已经解决,我的扩展中有一个方法。我希望当用户安装扩展程序时,也应该安装一个键盘快捷键,并且应该在按下时运行该方法。
我该怎么做呢?
您可以将快捷方式添加到 .vsct 文件。当您生成新扩展并说它将具有菜单命令时,该文件会在向导中自动创建。手动添加:
<VSCTCompile Include="MyCommands.vsct">
<ResourceName>Menus.ctmenu</ResourceName>
<SubType>Designer</SubType>
</VSCTCompile>
[ProvideMenuResource("Menus.ctmenu",1)]
public sealed class MyPackage : Package
<KeyBindings>
<KeyBinding guid="yourCmdSet" id="cmdAwesome"
editor="guidVSStd97"
key1="VK_F7" mod1="Control Alt"
key2="VK_F1">
</KeyBinding>
</KeyBindings>
// Add our command handlers for menu/shortcut (commands must exist in the .vsct file)
OleMenuCommandService mcs = GetService(typeof(IMenuCommandService)) as OleMenuCommandService;
if (null != mcs)
{
//// Create the command for the menu item.
var menuCommandID = new CommandID(GuidList.yourCmdSet,(int)PkgCmdIDList.cmdAwesome);
var menuItem = new MenuCommand((sender, evt) =>
{
// Do stuff
}
}
更多资源: