如何从我自己的VSIX扩展中订阅第三方扩展程序的命令?例如扩展的OnClick事件。
答案 0 :(得分:1)
如果是命令,您应该能够使用DTE.Events.CommandEvents[commandGuid, commandId].BeforeExecute
(或AfterExecute
)捕获它。 (MSDN)
如果您不知道ID和GUID,您可以订阅所有命令(因为两个索引器参数都是可选的),添加ID / GUID的日志记录,然后使用您感兴趣的命令。
重要提示:
我相信你必须在某个地方保留DTE.Events.CommandEvents[commandGuid, commandId]
的引用,这样它就不会被垃圾收集了。否则您可能会失去订阅。