VSIX:订阅命令

时间:2012-05-15 10:41:40

标签: vsx

如何从我自己的VSIX扩展中订阅第三方扩展程序的命令?例如扩展的OnClick事件。

1 个答案:

答案 0 :(得分:1)

如果是命令,您应该能够使用DTE.Events.CommandEvents[commandGuid, commandId].BeforeExecute(或AfterExecute)捕获它。 (MSDN

如果您不知道ID和GUID,您可以订阅所有命令(因为两个索引器参数都是可选的),添加ID / GUID的日志记录,然后使用您感兴趣的命令。

重要提示:
我相信你必须在某个地方保留DTE.Events.CommandEvents[commandGuid, commandId]的引用,这样它就不会被垃圾收集了。否则您可能会失去订阅。