我已经创建了一个VSIX包,并且我在.vsct文件中添加了KeyBindings部分。当我运行Visual Studio的实验实例时,键盘快捷键可以工作,但是当我在我的机器上实际安装vsix包时,键盘快捷键不起作用,尽管addin的其他方面工作。还有什么能够阻止快捷方式正确绑定吗?
密钥绑定
<KeyBindings>
<KeyBinding guid="MyAddinCmdSet" id="cmdidRollback" editor="guidVSStd97" key1="VK_NUMPAD2" mod1="CONTROL"/>
</KeyBindings>
我的vspackage中的命令
CommandID CommandIDRollback = new CommandID(GuidList.MyAddinCmdSet, (int)PkgCmdIDList.cmdidRollback);
MenuCommand menuItemRollback = new MenuCommand(MenuItemCallbackRollback, CommandIDRollback);
mcs.AddCommand( menuItemRollback);
答案 0 :(得分:0)
key1="VK_NUMPAD2"
是数字小键盘2键,不适用于“ 2 K”键盘,
您可以使用键码0x32
,但是此快捷方式已经为QueryDesigner.Criterria()
保留,因此您将无法使用它。
如果您将数字小键盘作为目标,但无法正常工作,则必须确保此快捷键未保留用于Visual Studio功能。
有关键控代码,请参见Virtual-Key Codes。
将您的代码更改如下:
<KeyBindings>
<KeyBinding guid="MyAddinCmdSet" id="cmdidRollback" editor="guidVSStd97" key1="0x32" mod1="CONTROL"/>
</KeyBindings>