以下宏可能会为您解决问题。我做了上面提到的 WindowManager,重新编译它以适用于 Visual Studio 2008,但我仍然发现它有点不稳定。此外,我不使用 WindowManager 中的“自动应用布局”功能,因此这些宏非常适合我从双显示器工作切换到仅笔记本电脑工作。
Sub DualMonitorConfiguration_Save()
SaveWindowConfiguration("Dual Monitor Layout")
End Sub
Sub DualMonitorConfiguration_Load()
LoadWindowConfiguration("Dual Monitor Layout")
End Sub
Sub LaptopOnlyConfiguration_Save()
SaveWindowConfiguration("Laptop Only Layout")
End Sub
Sub LaptopOnlyConfiguration_Load()
LoadWindowConfiguration("Laptop Only Layout")
End Sub
Private Sub SaveWindowConfiguration(ByVal configName As String)
Dim selectedConfig As WindowConfiguration
selectedConfig = FindWindowConfiguration(configName)
If selectedConfig Is Nothing Then
selectedConfig = DTE.WindowConfigurations.Add(configName)
End If
selectedConfig.Update()
DTE.StatusBar.Text = "Window configuration saved: " & configName
End Sub
Sub LoadWindowConfiguration(ByVal configName As String)
Dim selectedConfig As WindowConfiguration
selectedConfig = FindWindowConfiguration(configName)
If selectedConfig Is Nothing Then
MsgBox("Window Configuration """ & configName & """ not found.")
Else
selectedConfig.Apply()
DTE.StatusBar.Text = "Window configuration applied: " & configName
End If
End Sub
Private Function FindWindowConfiguration(ByVal name As String) As WindowConfiguration
Dim selectedLayout As WindowConfiguration
For Each config As WindowConfiguration In DTE.WindowConfigurations
If config.Name = name Then
Return config
End If
Next
Return Nothing
End Function