1
有沒有什麼辦法可以從Visual Studio擴展/包內動態添加全局熱鍵?Visual Studio擴展動態熱鍵
在我的包的* .vsct文件中聲明熱鍵是沒有選擇的,因爲我不知道哪些熱鍵應該在運行時可用 - 在我的擴展中有一種插件系統可以動態地添加/刪除熱鍵。
添加一個消息過濾器只在.NET運行消息循環時才起作用 - 這不是VS中的情況。
感謝您的支持!
有沒有什麼辦法可以從Visual Studio擴展/包內動態添加全局熱鍵?Visual Studio擴展動態熱鍵
在我的包的* .vsct文件中聲明熱鍵是沒有選擇的,因爲我不知道哪些熱鍵應該在運行時可用 - 在我的擴展中有一種插件系統可以動態地添加/刪除熱鍵。
添加一個消息過濾器只在.NET運行消息循環時才起作用 - 這不是VS中的情況。
感謝您的支持!
添加熱鍵的最佳方式是繼續並定義您的命令,而不使用任何鍵綁定。基本上確保命令MyExtension.MyOperation
可用,但綁定到沒有鍵。
在運行時,您可以抓取擴展命令的DTE.Command
對象。它可通過DTE
對象上的Commands
屬性獲得。從那裏您可以通過設置Binding
屬性來更改特定命令綁定的鍵。
例如,如果你想改變結合CTRL + O我會做以下
command.Binding = "Global::ctrl+o";
的語法鍵綁定實際上是在MSDN上相當有據可查。
由於賈裏德,問題是,我甚至不知道哪個命令將可用,因爲插件會向他們提供。我最後的手段是定義一個固定數量的虛擬命令,插件可以自己註冊。但是,這似乎對我完全是瘋了。 – 2012-02-01 15:31:40