Получить сохраненное событие Visual Studio DTE

Я использую COM DTE для создания приложения, в котором при сохранении документа в Visual Studio Solution выполняется определенное действие. Например, если документ в решении сохранен, запускается новая компиляция.

Я использую 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 ++ относительно плохая)

0

Решение

Вы на правильном пути. Теперь просто подпишитесь на DocumentSaved событие.

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]