如何从我自己的VSIX扩展订阅第三方扩展的命令?例如扩展OnClick事件。
发布于 2013-04-02 12:21:45
如果它是一个命令,您应该能够使用DTE.Events.CommandEvents[commandGuid, commandId].BeforeExecute (或AfterExecute)捕获它。(MSDN)
如果您不知道ID和GUID,您可以订阅所有命令(因为两个索引器参数都是可选的),添加ID/GUID的日志记录,然后使用您感兴趣的命令。
重要说明:
我相信你必须在某个地方保留对DTE.Events.CommandEvents[commandGuid, commandId]的引用,这样它就不会被垃圾回收了。否则,您的订阅可能会丢失。
https://stackoverflow.com/questions/10599025
复制相似问题