【问题标题】:Get Saved Event Visual Studio DTE获取已保存的事件 Visual Studio DTE
【发布时间】:2019-04-25 21:04:23
【问题描述】:

我正在使用 COM DTE 来制作一个应用程序,当保存 Visual Studio 解决方案中的文档时,会执行某个操作。例如,如果保存解决方案中的文档,则会触发新的编译。

我使用的是 C++,但我能找到的唯一文档是 C# [DTE events][https://docs.microsoft.com/en-us/dotnet/api/envdte.events?view=visualstudiosdk-2017]

我尝试了几种 DTE 对象的方法,但我无法找出保存文档时触发的事件,例如使用 [DocumentEvents][https://docs.microsoft.com/en-us/dotnet/api/envdte.events.documentevents?view=visualstudiosdk-2017](为简单起见,我省略了错误检查):

    TComPtr<EnvDTE::Events> events;
    DTE->get_Events(&events);

    TComPtr<EnvDTE::_DocumentEvents> docsEvents;
    TComPtr<EnvDTE::Document> doc;
    events->get_DocumentEvents(doc, &docsEvents);

然后我在 docsEvents 处被阻止,我希望它可以让我控制事件(将它们连接到处理程序,例如使用 __hook)。

因此我想知道访问解决方案中文档事件的正确调用顺序是什么(尤其是在保存解决方案文档时启动的事件)(C++ 中的文档相对较差)

【问题讨论】:

    标签: c++ visual-studio events com envdte


    【解决方案1】:

    你走在正确的道路上。现在只需订阅DocumentSaved 事件。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-07-21
      • 2012-04-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多