Visual Studio自动化:枚举解决方案加载时打开的窗口
时间:2020-03-05 18:51:13 来源:igfitidea点击:
在使用宏加载解决方案时,如何枚举打开的代码窗口(即,用于编辑文档的窗口)?
我们可能知道,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
解决方案
回答
我发现枚举窗口的一种方法是在DocumentEvents.DocumentOpened事件上,但是它总是触发它,而不仅是在加载解决方案的过程中。根据我的经验,SolutionEvents.Opened似乎不会被解雇,否则可以在其中更改静态变量。
不过,这可能会有助于解释它。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。