Visual Studio Automation: перечислять открытые окна при загрузке решения - PullRequest
1 голос
/ 11 сентября 2008

Как перечислить открытые окна кода (т. Е. Те окна, в которых вы редактируете документы) при загрузке решения с использованием макросов?

Как вы, вероятно, знаете, MSVS запоминает открытые документы, т. Е. При загрузке решения IDE загружает ранее открытые файлы. Я хочу выполнить некоторые действия с этими окнами при загрузке решения.

Я пытался получить доступ к этим окнам в обработчике SolutionEvents_Opened. Но не повезло - похоже, что упомянутые окна в данный момент недоступны, когда вызывается SolutionEvents_Opened. DTE.Documents пуст и DTE.Windows.Items не содержит их.

Мне нужен код вроде:

Private Sub SolutionEvents_Opened() Handles SolutionEvents.Opened
   Dim window As Window = DTE.Documents.Item(?).Windows // one of the opened windows
   ...
End Sub

1 Ответ

1 голос
/ 17 сентября 2008

Один из способов перечислить окно - это событие DocumentEvents.DocumentOpened, но оно запускает его всегда, а не только во время загрузки решения. По моему опыту не кажется, что SolutionEvents.Opened вообще срабатывает, иначе в нем может быть изменена статическая переменная.

Это может помочь объяснить это.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...