Visual Studio中“编辑”和“调试”的单一布局

时间:2011-04-10 06:17:29

标签: visual-studio

在Visual Studio 2008中,“开始调试”将Visual Studio切换到不同的布局。如何强制Visual Studio始终使用单个布局?

我可以尝试尽可能相似地在正常模式和“调试”模式下布置我的窗口。但是,i)Visual Studio仍然会进行可见的重绘,以及ii)我必须手动保持布局同步。

更新:似乎正确的术语是“设计视图”和“调试视图”。根据{{​​3}}'目前没有办法告诉Visual Studio为所有模式使用一个状态。这是真的吗?

4 个答案:

答案 0 :(得分:20)

正如其他人所指出的那样,您无法使用一个设置组来控制设计视图和调试视图。 Visual Studio不能轻松地充分利用窗口放置设置,但我用来管理布局的方法可能会有所帮助。

不要经常手动调整窗口放置,而是尝试考虑要使用的固定数量的不同视图。 Eclipse有透视图,窗口布局可以在它们之间切换。以这种方式想象Visual Studio。例如,我在Visual Studio中使用两种布局:一种是在我坐在我的物理工作站时利用两台显示器,另一种是在我远程工作时用于一台显示器。如果您可以限制自己使用一组对您有意义的布局而无需手动调整窗口,则可以使每个布局的设计和调试窗口放置相同。

然而,在Visual Studio开箱即用的情况下,在布局之间切换是很痛苦的。您必须转到工具 - >导入和导出设置并手动选择布局。在我的工作站上以这种方式切换布局需要超过五次鼠标点击,有时需要15秒。我们可以做得更好!

  1. 将每个布局所需的窗口位置保存到设置文件
  2. 制作宏以加载每个设置文件
  3. 将宏绑定到键盘快捷键或工具栏按钮
  4. 将窗口位置保存到设置文件

    按照您希望的方式为特定布局排列窗口。 Visual Studio几乎保存了每个窗口的位置(例如,解决方案资源管理器,输出,查找和替换),因此请彻底。 Visual Studio将设计和调试布局保存在单个文件中,因此可以在两个视图中排列窗口。

    转到工具 - >导入和导出设置。选择导出所选环境设置,然后单击下一步 下一个对话框将提示您选择要导出的设置。取消选中除常规设置/窗口布局以外的所有设置,以便仅保存窗口放置,就像在这些屏幕截图中一样(我无法展开窗口,因此这里是同一对话框的两个镜头):

    Choose settings to export

    Choose settings to export

    输入此设置文件的名称并保存。重复,直到每个布局都有一个设置文件。您可以拥有多少个设置文件没有限制。

    制作宏以加载每个设置文件

    转到工具 - >宏 - >宏资源管理器以显示您的宏。应该已经有一个名为MyMacros的宏项目。如果没有可见的话,创建一个空宏项目。双击任何这些项目中的任何模块以打开宏编辑器。

    将其输入编辑器。您需要一个主要子接收设置文件的路径并加载该文件,并为每个调用主要子文件的单个文件创建一个子接口。如果将设置文件保存到同一文件夹,则可以使每个文件的子文件只传递文件名而不是整个路径。

    Imports System
    Imports EnvDTE
    Imports EnvDTE80
    Imports EnvDTE90
    Imports System.Diagnostics
    
    Public Module Module1
    
        Private RootFolder As String = "C:\Path\To\Folder\With\Settings\Files\"
    
        Private Sub ImportSettingsFile(ByVal FileName As String)
            FileName = IO.Path.Combine(RootFolder, FileName & ".vssettings")
            DTE.ExecuteCommand("Tools.ImportandExportSettings", "-import:""" & FileName & """")
        End Sub
    
        'Corresponds to file layoutA.settings    
        Public Sub ImportLayoutA()
            ImportSettingsFile("layoutA")
        End Sub
    
        'Corresponds to file layoutB.settings
        Public Sub ImportLayoutB()
            ImportSettingsFile("layoutB")
        End Sub
    
        'Repeat for each settings file
    
    End Module
    

    关闭宏编辑器并返回Visual Studio。你完成了!运行任何这些宏将自动加载设置文件。您可以双击宏资源管理器中的任何子任务来运行它们。如果您始终显示宏资源管理器,这可能就足够了,但如果您不这样做或者不想点击宏来运行它们,我们可以做得更好......

    将宏绑定到键盘快捷键或工具栏按钮

    转到工具 - >选项 - >环境 - >键盘。此窗口允许您更改任何键盘绑定。在显示包含文本的命令框中键入不带引号的“宏”。这将显示您创建的宏。选择任何宏,单击标题为“按快捷键”的文本框,然后输入要用于运行宏的键盘快捷键。点击分配,然后确定。您现在可以使用此键盘命令加载设置文件。

    enter image description here

    或者,您可以使用工具栏按钮代替或除了键盘绑定之外。转到工具 - >自定义。选择“命令”选项卡,选择“工具栏”,然后选择要添加按钮的工具栏(“标准”是主工具栏)。单击“添加命令”,选择“宏”类别,选择要为其添加按钮的宏,然后单击“确定”。您将在工具栏上有一个新按钮,用于从该宏加载窗口布局。

    enter image description here

    enter image description here

    请记住,键盘快捷键和工具栏按钮本身就是设置。如果导入覆盖其中任何一个的设置文件,则必须重做此最后一步。窗口放置设置文件不会覆盖这些值,因为您只导出了窗口位置。最好定期导出和备份所有设置,而不仅仅是窗口设置,以防出现这种情况并且您想要恢复非窗口设置。

答案 1 :(得分:12)

不,这是不可能的。 website you found确实准确无误:

  

Visual Studio中有四种不同的窗口布局模式:

     
      
  • 设计视图 - 这是您启动Visual Studio时看到的。这是大多数人所说的“正常”观点。
  •   
  • 调试视图 - 这是您进入调试模式时所获得的视图,就像您单步执行代码一样
  •   
  • 全屏 - 进入View时获得的视图 - >全屏( Shift + Alt + 输入)。
  •   
  • 文件视图 - 在DevEnv.eve中打开文件时可以获得的鲜为人知的视图
  •   
     

这里需要记住的是,两个工具窗口和命令栏自定义都是针对每个状态单独保存的。目前无法告诉Visual Studio为所有模式使用一种状态。此外,当您在任何状态下关闭Visual Studio时,将保存所有四个状态。

您想要为所有四种模式使用相同的窗口布局,这很奇怪。在设计时有用的相同窗口在调试期间几乎没有用,反之亦然 例如,在调试视图中,我隐藏了工具箱,文档大纲和属性管理器窗口。然后,我添加了非常有用的Call Stack,Autos,Locals,Processes,Modules和Breakpoints窗口。在设计模式中,后面的窗格都不会对我有用,所以我不希望它们占用屏幕空间。但是他们在调试模式下非常宝贵,所以我希望它们出现。我还根据其相对重要性(例如“属性”窗口)在两种不同模式下调整窗口大小。

如果您仍然认为两个视图应该具有相同的窗口布局,那么您可以做的最好是手动重新排列窗口以在两种模式下实现相同的布局。我还建议您导出窗口布局设置(工具 - >导入和导出设置),以便您有一个新的副本,以便在发生灾难时恢复。我保留包含我的首选窗口布局设置的设置文件,用于单显示器(笔记本电脑),双显示器和三显示器配置。

答案 2 :(得分:2)

我认为你的问题是,“如何在两种模式下使用相同的设置?”我对吗?虽然@Chris提供了一个关于如何自动填充的优秀论文,但我想指出,对于发现这个问题的任何人来说,有一种简单的方法可以为设计和调试模式实现相同的窗口设置。

导出您的设置:

  1. 选择常规设置/窗口布局(在VS 2013中)并保存文件。
  2. 在XML编辑器中打开文件(或任何......它是一个XML文件)
  3. 查找/用户设置/类别/设计/ WindowProfile并复制整个节点。 - 这假设您的“设计”视图是您要用于两种模式的视图。
  4. 查找/ UserSettings / Category / Debug / WindowProfile并将其替换为您从Design中复制的那个。
  5. 保存并重新导入。
  6. 我有家庭,远程和办公室的这些设置文件之一。

答案 3 :(得分:0)

由于多显示器配置中VS窗口的异常行为(毛刺),许多人试图启用此功能。

在这种情况下,还有其他选项可以帮助您: 关闭“环境”->“常规”->“优化具有不同像素密度的屏幕的渲染”

https://developercommunity.visualstudio.com/content/problem/830128/windows-layout-not-restoring-properly-in-multi-mon.html