代码之家  ›  专栏  ›  技术社区  ›  cbp

Visual Studio会忘记窗口设置并造成混乱

  •  63
  • cbp  · 技术社区  · 16 年前

    我有一个问题,我打开了Visual Studio,内部的窗口分散在整个地方。它们都没有停靠;一些应该可见的已经变为不可见,反之亦然。然后我要花很长时间把窗户放回我喜欢的地方。

    这似乎只发生在一些解决方案中,而且只是最近才出现。

    对我来说,我无法解决这个问题。还有人经历过这个吗?

    12 回复  |  直到 9 年前
        1
  •  67
  •   Peter McG    16 年前

    听起来,Visual Studio在往返期间保留您的设置肯定有问题,一般来说,您的Visual Studio设置配置文件也可能有问题。

    我建议的解决方案是,首先重置所有设置,然后根据您的个人喜好自定义内容,最后备份这些自定义设置。其想法是,此设置备份文件可以在以后自动将设置还原到您满意的位置。以下步骤演示了如何执行此操作,并且希望能够解决甚至是最混乱的Visual Studio设置问题:

    1. 关闭Visual Studio的所有实例。

    2. 转到“开始”>“程序”>“Visual Studio 200x”>“Visual Studio工具”>,然后选择“Visual Studio 200x命令提示”

    3. 运行鲜为人知的“devenv.exe/resetuserdata”命令。使用此命令,您将丢失所有的Visual Studio环境设置和自定义设置。因此,/resetuserdata开关不受官方支持,并且Microsoft不会公布它(在键入devenv.exe/时获得的devenv.exe帮助中没有描述该开关)。在命令提示下)。重要的是,等待生成的devenv.exe进程从任务管理器或更好的进程资源管理器中消失。

    4. 当进程从任务管理器或进程资源管理器中消失时,运行“devenv.exe/resetsettings”,它将恢复IDE的默认设置,并最终启动Visual Studio的单个实例。

    5. 现在在Visual Studio中,选择“工具”菜单底部附近的“导入和导出设置…”,启动导入和导出设置向导。

    6. 选择“Reset all settings”(重置所有设置)单选按钮,然后选择“Next”(下一步),选择“No”(否),只需重置设置,覆盖我的当前设置),然后选择“Next”(下一步),选择您的个人“Settings Collection”(设置集合)首选项,我将在此处选择Visual C开发设置(注意:您在此处选择的内容会影响键盘快捷方式等,但您可以始终重复此过程。直到高兴为止),然后单击“完成”。

    7. 当您收到“您的设置已成功重置为XXXXXX开发设置”的消息时,请单击“关闭”,然后花一点时间向Visual Studio中添加任何个人自定义设置,例如打开您一直想要打开的窗口、自定义工具栏和添加任何工具栏按钮等。

    8. 完成个人自定义并完全满意设置后,再次转到“工具”>“导入和导出设置…”

    9. 选择“导出所选环境设置”单选按钮,然后选择“下一步”>勾选“所有设置”,然后选择文件名和目录,然后单击“完成”将当前设置的备份存储在.vssettings文件中。

    10. 将来,如果事情再次失控,请返回“工具”>“导入和导出设置…”,这次选择“导入所选环境设置”单选按钮,然后选择“否,只导入新设置,覆盖当前设置”,然后选择“下一步”>从列表中选择.vssettings文件的名称(通常在“我的设置”下设置文件夹)或浏览..到保存文件的位置,然后选择“所有设置”,然后单击“完成”。

    11. 重要的是,关闭Visual Studio的单个实例。以后打开的任何实例都应保留最新的自定义设置。

        2
  •  6
  •   Tim Scarborough    16 年前

    当我的文档文件夹存储在映射驱动器上时,我遇到了类似的问题。如果我在映射驱动器之前打开了vs,vs就好像它是第一次被打开一样。我通过将环境设置存储在本地磁盘上解决了这个问题。

        3
  •  6
  •   Jason Williams    10 年前

    VisualStudio用规则的单调性破坏了它的设置(总是这样做,自从VisualC++天以来,我一直在遭受这种折磨,它仍然是VS2013中的一个bug)。

    通常情况下,这似乎完全是随机的,但很可能发生在撞车之后。

    如果Visual Studio没有完全关闭,它也会丢失对设置的任何更改-出于某种原因,当您确定对话框时,它不会保存回设置,而似乎会等到它退出时再写回您的更改,因此更改选项后,我总是退出并重新启动以确保更改已刷新到磁盘。同样,在运行两个或多个vs实例的情况下,不应更改选项,因为最后一个退出的实例将覆盖设置。

    特别是,有一个很容易复制的情况:如果您同时启动两个或多个副本(我的意思是,如果您启动两个或多个副本,那么它们都是同时初始化的),它们似乎在争夺设置文件,它会损坏或重置为默认值。

    我发现最好的两个解决方法是:

    • 一次不要启动多个实例。如果需要同时运行多个实例,请等待第一个实例完成其解决方案的加载,然后再启动下一个实例。

    • 总是使用 Tools > Import and Export Settings 将您的设置保存到备份文件中,以便每次从损坏中恢复只需要几秒钟。

    另一个较小但仍相当令人恼火的习惯是,如果在退出时将vs最小化(例如,通过关闭),它会损坏其窗口位置信息,下次运行时,它将最大化。

        4
  •  4
  •   Community CDub    8 年前

    我也遇到了这个问题(似乎是在Windows更新之后触发的),在这个问题中,无论我做了什么,我总是得到一些虚假的窗口布局。上述建议也不起作用。但幸运的是,建议包括: Why doesn't VS 2008 IDE remember my preferences? 删除的:

    %APPDATA%\Application Data\Microsoft\VisualStudio\9.0\windows.prf
    

    工作。

    TP

        5
  •  3
  •   cbp    13 年前

    实际上,我发现了罪魁祸首是什么:之前的vs崩溃。

    如果我的一个Visual Studio实例由于任何原因崩溃——下次启动vs时,我会得到一批奇怪的设置。这种行为取决于各种因素,比如我当时是否有其他的vs打开的实例。

        6
  •  3
  •   Christopher Nourse    13 年前

    我试过彼得·麦克格拉坦的方法,但还是没用。 最终对我起作用的是删除我的vs解决方案用户选项(.sou)。与我的解决方案位于同一目录中。

    唯一不好的是你必须重做你的所有设置。这包括我的异常更改。没有太多的变化,但如果你有很多定制,这可能是一个真正的痛苦。 那个文件中一定有什么东西把所有东西都弄乱了,但是删除整个文件又快又容易。

        7
  •  1
  •   Josh    16 年前

    打开哪个解决方案并不重要,因为这些设置不是特定于解决方案的。但我想知道您是否安装了Visual Studio 2005和2008?如果是这样,打开2005年创建的解决方案将打开vs 2005,打开2008年解决方案将打开vs 2008。即使您没有安装它,也可能有VS2005。例如,InfoPath 2007安装了一个vs 2005 shell。

    首先,我会将窗口定位到您想要的位置,然后执行工具->导出设置,只包括窗口布局。这样你至少可以恢复一些东西。

    然后,我将选中“工具”->“选项”->“导入导出设置”,并记下“自动将设置保存到此文件”路径的设置位置。注意那个文件。您是否有可能无意中覆盖它的同步软件?它是否指向一个不存在的位置?

        8
  •  1
  •   Dan Loughney    9 年前

    我的问题类似,但结果是应用程序崩溃。问题是这个值

    在hkey_current_user\software\microsoft\VisualStudio\11.0\MainWindow中。它被设置为“0 1000-280-100 3”,这可能是因为有多个屏幕,并且用户界面经常移动。

    删除此值允许应用程序成功重新启动。它将在启动时重新创建。

        9
  •  0
  •   sergiopereira    16 年前

    我也面临同样的问题。而且它也是最近才开始的,比如说,在过去的30天左右。在这段时间里,我唯一记得的变化就是更新了Resharper 4.5。

        10
  •  0
  •   LucasM    10 年前

    我也经历过类似的事情。在我的例子中,文本编辑器的颜色(例如C编辑器)正在失控。唯一的解决方案,我尝试和工作,我是改变颜色主题,使其他东西,然后回到我想要的。

        11
  •  0
  •   Clint StLaurent    10 年前

    在我的例子中,它不是窗口布局被破坏,而是提供代码完成和弹出帮助的IntelliSense。在过去的十年里,这个问题从未发生过,现在它至少每天发生三次。Win8.1、Visual Studio 2013、Resharper 8和现在的Resharper 9(希望升级可以修复它)。

    我现在经常要

    • 关闭解决方案,
    • 工具/导入导出设置/重置所有设置
    • 关闭Visual Studio
    • 打开Visual Studio导入我保存的设置
    • 重新打开解决方案并继续工作

    然后我可以再好好工作一段时间,直到出了问题…假设在调试时堆栈溢出。在那一点上,我只知道我的设置是错误的,我的智能感知又死了。

    我开始怀疑这是否与最新的Visual Studio更新有关。里面有一些我从来没有用过的东西,比如广告垃圾和办公室开发集成。微软Office也有自己的问题,比如Office64位,没有被任何其他应用程序(如Quicken)视为已安装的电子邮件程序。或者它可能与Resharper冲突,Resharper想要超越并“扩展”IntelliSense功能。

    不管怎样,我相信这是同一个问题的不同表现:在正常使用中,Visual Studio的设置是横向的。

        12
  •  0
  •   Dan    10 年前

    我刚刚在vs 2012遇到这个问题,重置窗口布局什么都没做。

    外推

    %AppData%\Application Data\Microsoft\VisualStudio\9.0\Windows.prf

    %AppData%\Microsoft\VisualStudio\11.0\Windows.Index

    …删除了它并重新投入业务!

    • 确保先关闭所有vs实例!
    推荐文章