2008-09-11 103 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可能有助於解釋它。

相關問題