1

如何在使用宏加载解决方案时枚举打开的代码窗口(即编辑文档的窗口)?

您可能知道,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
4

1 回答 1

1

我发现枚举窗口的一种方法是在 DocumentEvents.DocumentOpened 事件上,但它总是会触发它,而不仅仅是在加载解决方案期间。根据我的经验,SolutionEvents.Opened 似乎根本没有被触发,否则可以在其中更改静态变量。

不过,这可能有助于解释它。

于 2008-09-17T06:29:41.870 回答