2008-09-11 105 views
1

如何在使用宏进行解决方案加载时枚举打开的代码窗口(即编辑文档的那些窗口)?如您所知,MSVS会记住打开的文档,即当您加载解决方案时,IDE将加载先前打开的文件。我想要做的是在解决方案加载时使用这些窗口执行一些操作。Visual Studio自动化:在解决方案加载时枚举打开的窗口

我试图在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

一种方法是在DocumentEvents.DocumentOpened事件,但它仅在一个解决方案的加载总是不触发它。根据我的经验,似乎SolutionEvents.Opened根本不会被解雇,否则可能会改变一个静态变量。

This可能有助于解释它。

相关问题