【问题标题】:Visual Studio window managerVisual Studio 窗口管理器
【发布时间】:2008-09-23 19:08:42
【问题描述】:
是否有Visual Studio 2008 的窗口管理器,例如this one。我真的很喜欢它,这就是我在 Visual Studio 2005 中使用的所有内容,并且在某个地方看到它应该在 Visual Studio 2008 中工作,但它没有。我已经在 Visual Studio 2008 的许多安装中尝试过它,但它不记得任何设置。我真的很喜欢能够轻松快速地更改窗口布局。现在我只是手动导入和导出设置,但这不是一个即时过程。
我必须做些什么才能让它发挥作用?
【问题讨论】:
标签:
.net
visual-studio
add-in
【解决方案2】:
您的问题已在您提出问题的same page 上得到回答:-)
仅作记录:
要使其适用于 2008 年,请添加
新的 HostApplication 元素
WindowManager2005.AddIn 文件。文件
通常在
“%APPDATA%\Microsoft\MSEnvShared\Addins”。
更改新元素中的版本
为 9.0(VS 2008),它应该可以工作
在 2008 年和 2005 年。
<HostApplication>
<Name>Microsoft Visual Studio</Name>
<Version>9.0</Version>
</HostApplication>
【解决方案4】:
以下宏可能会为您解决问题。我做了上面提到的 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