问题 如何在编程和调试时使Visual Studio使用GUI相同的布局?


Visual Studio使用两种不同的GUI布局,具体取决于您的代码是否正在运行。我理解这个的目的(让你只在实际调试时显示与调试相关的窗口),但我发现这个功能很烦人,并且更喜欢在调试时使用相同的布局。

是否可以禁用此功能,如果是,如何?


10367
2017-11-24 15:16


起源



答案:


有趣的时机。 Zain Naboulsi刚刚写了几篇关于此的帖子 Visual Studio提示和技巧博客

  1. 窗口布局:四种模式
  2. 窗口布局:设计,调试和全屏
  3. 窗口布局:文件视图

这里要记住的是,   两者,你的工具窗口和你的   命令栏自定义项已保存   每个州分别。有   无法告诉Visual Studio使用   此时所有模式都有一个状态。   此外,当你关闭   Visual Studio在任何状态下都是四个   国家得救了。

编辑

免责声明:我自己没试过,但看起来很有希望。 如果导出Visual Studio设置并使用文本编辑器编辑生成的文件,则可以找到 <Category name="Environment_WindowLayout"> 元素与每个布局的子元素。我猜想复制 <Design> 进入 <Debug> 会导致两个布局相同。也许有人可以编写VS加载项或外部实用程序来自动执行此操作:)

以下是相关设置XML布局的简化:

<UserSettings>
    <Category name="Environment_Group" ...>
        <Category name="Environment_WindowLayout" ...>
            <NoToolWin>
                ...
            </NoToolWin>
            <Design>
                ... 
            </Design>
            <Debug>
                ...
            </Debug>
            <Design-FullScreen>
                ...
            </Design-FullScreen>
        </Category>
    </Category>
</UserSettings>

5
2017-11-24 15:27



我会建议反对这个!我试了一下,乍一看它看起来很有效......直到我在Fullscreen和Normal模式之间来回切换几次 - 每次VS2012都会崩溃。幸运的是我做了一个备份:-) - Heliac


答案:


有趣的时机。 Zain Naboulsi刚刚写了几篇关于此的帖子 Visual Studio提示和技巧博客

  1. 窗口布局:四种模式
  2. 窗口布局:设计,调试和全屏
  3. 窗口布局:文件视图

这里要记住的是,   两者,你的工具窗口和你的   命令栏自定义项已保存   每个州分别。有   无法告诉Visual Studio使用   此时所有模式都有一个状态。   此外,当你关闭   Visual Studio在任何状态下都是四个   国家得救了。

编辑

免责声明:我自己没试过,但看起来很有希望。 如果导出Visual Studio设置并使用文本编辑器编辑生成的文件,则可以找到 <Category name="Environment_WindowLayout"> 元素与每个布局的子元素。我猜想复制 <Design> 进入 <Debug> 会导致两个布局相同。也许有人可以编写VS加载项或外部实用程序来自动执行此操作:)

以下是相关设置XML布局的简化:

<UserSettings>
    <Category name="Environment_Group" ...>
        <Category name="Environment_WindowLayout" ...>
            <NoToolWin>
                ...
            </NoToolWin>
            <Design>
                ... 
            </Design>
            <Debug>
                ...
            </Debug>
            <Design-FullScreen>
                ...
            </Design-FullScreen>
        </Category>
    </Category>
</UserSettings>

5
2017-11-24 15:27



我会建议反对这个!我试了一下,乍一看它看起来很有效......直到我在Fullscreen和Normal模式之间来回切换几次 - 每次VS2012都会崩溃。幸运的是我做了一个备份:-) - Heliac


据我所知,没有办法改变这种行为。但是,我所做的就是将它们设置为相同(设置窗口两次;一次编写代码,一次调试时),外观不会改变。


5
2017-11-24 15:20



这就是我目前所做的,但它只是意味着每当我对布局进行更改时,我需要做两次。同样难以让所有面板的宽度/高度相同而没有太多的混乱(并且考虑到它们经常调整以适应当前的任何内容,这有点耗时)所以每次运行我的代码我得到丑陋的瞬间flickery情况,其中Visual Studio改变了一切的宽度和高度。 - crdx
我确切地知道你的意思;一方面,如果你想要一些不同的东西(例如,在调试时显示Threads窗口),这很好,但是如果你不介意占用额外的房地产,那么就没有办法避免闪烁。 - Mark Avenius