[英]Dynamic hotkeys for Visual Studio extension
有什么方法可以从Visual Studio扩展/程序包中动态添加全局热键?
在包的* .vsct文件中声明热键是没有选择的,因为我不知道在运行时应该使用哪些热键-我的扩展程序中有一种插件系统可以动态添加/删除热键。
添加消息过滤器仅在.NET运行消息循环时才起作用-VS中不是这种情况。
谢谢你的支持!
添加热键的最佳方法是继续并定义您的命令,而无需任何键绑定。 本质上,请确保命令MyExtension.MyOperation
可用但未绑定任何键。
在运行时,您可以获取扩展命令的DTE.Command
对象。 通过DTE
对象上的Commands
属性可以使用它。 在此可以通过设置Binding
属性来更改特定命令绑定到的键。
例如,如果您想将绑定更改为CTRL + o,我将执行以下操作
command.Binding = "Global::ctrl+o";
实际上,MSDN上对键绑定的语法进行了很好的记录。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.