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

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

我可以尝试以尽可能相似的方式在普通模式和“debugging”模式下布局窗口。 但是,我)Visual Studio仍然会做一个可见的重绘,和二)我必须保持布局手动同步。

更新:似乎正确的术语是“devise视图”和“debugging视图”。 根据窗口布局:四种模式 “目前无法告诉Visual Studio在所有模式下使用一种状态。 这是真的吗?

不,这是不可能的。 你find的网站确实是准确的:

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

  • devise视图 – 这是您启动Visual Studio时看到的视图 。 这是大多数人所说的“正常”观点。
  • debugging视图 – 这是您进入debugging模式时所获得的视图,就像您正逐步完成代码一样
  • 全屏幕 – 当您进入查看 – >全屏( Shift + Alt + Enter )时获得的视图。
  • 文件视图 – 在DevEnv.eve中打开文件时可以获得的鲜为人知的视图

这里要记住的是,你的工具窗口和你的命令栏自定义分别保存在每个状态。 目前无法告诉Visual Studio在所有模式下都使用一个状态。 另外,当您在任何状态下closuresVisual Studio时,所有四个状态都被保存。

奇怪的是,你会想要为所有四种模式使用相同的窗口布局。 在devise时使用的相同的窗口在debugging过程中几乎没有用处,反之亦然。
例如,在debugging视图中,我隐藏了工具箱,文档大纲和属性pipe理器窗口。 然后,我添加非常有用的调用堆栈,自动,本地,进程,模块和断点窗口。 后面的窗格在devise模式中对我来说没有任何用处,所以我不希望它们占用屏幕空间。 但是在debugging模式下它们是非常宝贵的 ,所以我希望它们显示出来。 我还根据它们的相对重要性(如“属性”窗口)调整两种不同模式下的窗口大小。

如果您仍然认为这两个视图应该具有相同的窗口布局,则最好的方法是手动重新排列窗口以在两种模式下实现相同的布局。 我还build议导出您的窗口布局设置(工具 – >导入和导出设置),以便您有一个新的副本恢复到在灾难的情况下。 我保持设置文件包含我的首选窗口布局设置单显示器(笔记本电脑),双显示器和三显示器configuration。

正如其他人所指出的那样,您不能使用一个设置组来控制devise和debugging视图。 Visual Studio不能轻松获得最多的窗口位置设置,但是我用来pipe理布局的方法可能会有所帮助。

不要频繁地手动调整窗口位置,而是尝试考虑想要使用的固定数量的不同视图。 Eclipse有透视图,可以切换的窗口布局。 用这种方式思考Visual Studio。 例如,我在Visual Studio中使用了两种布局:一种是在我坐在物理工作站时利用两台显示器,另一台是在远程工作时用于一台显示器。 如果您可以限制自己使用一组适合您的布局,而无需手动调整窗口,则可以使每个布局的devise和debugging窗口布局相同。

但是,在Visual Studio开箱即用的情况下,布局之间的切换是很痛苦的。 你必须去工具 – >导入和导出设置,并手动select布局。 这需要超过五次鼠标点击,有时候需要十五秒才能在我的工作站上以这种方式切换布局。 我们可以做得更好!

  1. 将每个布局的窗口位置保存到设置文件
  2. 创build一个macros来加载每个设置文件
  3. 将macros绑定到键盘快捷键或工具栏button

将窗口位置保存到设置文件

按照您希望的方式按特定布局排列窗口。 Visual Studio几乎保存每个窗口的位置(例如,解决scheme资源pipe理器,输出,查找和replace),所以要彻底。 Visual Studio将devise和debugging布局保存在一个文件中,以便在两个视图中排列窗口。

转至工具 – >导入和导出设置。 select导出所选环境设置,然后单击下一步
下一个对话框提示您select要导出的设置。 取消所有设置,除了常规设置/窗口布局,所以只有窗口的位置被保存,就像在这些屏幕截图中(我不能展开窗口,所以这里是同一个对话框的两个镜头):

选择要导出的设置

选择要导出的设置

input此设置文件的名称并保存。 重复,直到你有每个布局的设置文件。 您可能有多less个设置文件没有限制。

创build一个macros来加载每个设置文件

转到工具 – >macros – >macros浏览器显示您的macros。 应该已经有一个名为MyMacros的macros项目。 创build一个空的macros项目,如果没有可见的。 双击任何这些项目中的任何模块来打开macros编辑器。

input这个到编辑器中。 您需要一个主要的子文件夹来获取一个设置文件的path并加载文件,另一个子文件夹用于调用main子文件的每个文件。 如果将设置文件保存到相同的文件夹,则可以让每个文件副本传递文件名称而不是整个path。

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 

closuresmacros编辑器并返回到Visual Studio。 你完成了! 运行这些macros将自动加载设置文件。 您可以双击Macro Explorer中的任意子文件来运行它们。 如果你在任何时候都显示Macro Explorer,这可能就足够了,但是如果你不想或者不想点击这些macros来运行它们,我们甚至可以做的更好。

将macros绑定到键盘快捷键或工具栏button

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

在这里输入图像说明

或者,您可以使用工具栏button来代替键盘绑定,或者除了键盘绑定之外。 转到工具 – >自定义。 select命令选项卡,select工具栏,然后select要添加button的工具栏(标准是主工具栏)。 单击添加命令,selectmacros类别,select要添加button的macros,然后单击确定。 您将在工具栏上有一个新的button,从该macros中加载窗口布局。

在这里输入图像说明

在这里输入图像说明

请记住,键盘快捷键和工具栏button本身就是设置。 如果您导入的设置文件覆盖其中任何一个,您将不得不重做这最后一步。 窗口放置设置文件不会覆盖这些值,因为您只导出窗口位置。 定期导出和备份所有设置,而不仅仅是窗口设置,这是一个好主意,以防发生类似情况,并且希望恢复非窗口设置。

我想你的问题是,“我如何在两种模式下使用相同的设置?” 我对吗? 尽pipe@Chris给出了一个关于如何自动填充的优秀论文,但是我想指出,对于发现这个问题的其他人来说,在devise和debugging模式下都可以轻松实现相同的窗口设置。

导出您的设置:

  1. select一般设置/窗口布局(在VS 2013)并保存该文件。
  2. 在XML编辑器中打开文件(或者其他…这是一个XML文件)
  3. 查找/ UserSettings / Category / Design / WindowProfile并复制整个节点。 – 这假定你的devise视图是你想要用于两种模式的视图。
  4. 查找/ UserSettings / Category / Debug / WindowProfile并将其replace为从Design中复制的文件。
  5. 保存并重新导入。

我有家庭,远程和办公室的这些设置文件之一。