VSIX Определить, что решение было создано - PullRequest
0 голосов
/ 07 ноября 2018

В то время как Microsoft «разумно легко» определяет, когда решение было открыто или закрыто в расширении VSIX

  IVsSolution.GetSolutionInfo(
out pbstrSolutionDirectory, 
out pbstrSolutionFile, 
out pbstrUserOptsFile);

Я ломаю голову, как именно в расширении VSIX я могу получить информацию / событие, когда новое решение создано . Это возможно?

Я предполагаю, что должен быть какой-то способ сделать это, но поскольку документация по расширениям Microsoft немногочисленна, я не могу ее найти.

1 Ответ

0 голосов
/ 07 ноября 2018

Используйте метод IVsSolutionEvents.OnAfterOpenSolution (Object, Int32) , вторым параметром которого fNewSolution является то, что вам нужно: true, если решение создается. false, если решение было создано ранее или загружается.

Вы получаете IVsSolutionEvents с IVsSolution.AdviseSolutionEvents (IVsSolutionEvents, UInt32) / IVsSolution.UnadviseSolutionEvents (UInt32) методы

Некоторое время назад я создал рабочий образец VSIX HOWTO: получение событий решения из пакета Visual Studio

...