66

我在打开 Visual Studio 时遇到了这个问题,内部窗口分散在各处。它们都没有停靠;一些应该可见的变得不可见,反之亦然。然后我必须花费很长时间把窗户放回我喜欢的地方。

它似乎只发生在某些解决方案中,并且最近才出现。

对于我的生活,我无法解决这个问题。有没有其他人经历过这个?

4

12 回答 12

70

听起来 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. 选择“重置所有设置”单选按钮和下一步>选择“不,只是重置设置,覆盖我当前的设置”和下一步>选择您的个人“设置集合”首选项,我会在此处选择 Visual C# 开发设置(注意:您选择的这里对键盘快捷键等有影响,但您始终可以重复此过程直到满意)并单击完成。

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

  8. 当您完成个人定制并对设置完全满意后,再次转到工具 > '导入和导出设置...'

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

  10. 将来如果事情再次陷入困境,请返回工具>“导入和导出设置...”,这次选择“导入选定的环境设置”单选按钮,然后选择“否,只需导入新设置,覆盖我当前的设置”然后 Next > 从列表中选择您的 .vssettings 文件的名称(通常在 My Settings 文件夹下)或 Browse.. 到您保存文件的位置,然后 Next > 勾选“All Settings”并单击 Finish。

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

于 2009-05-15T04:17:37.570 回答
7

Visual Studio 经常单调地破坏它的设置(从 Visual C++ 时代开始,我就一直受此困扰,而且它在 VS2013 中仍然是一个问题)。

通常这似乎完全是随机的,但在崩溃之后很有可能。

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

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

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

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

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

另一个较小但仍然相当烦人的习惯是,如果 VS 在退出时被最小化(例如通过关闭),它会破坏其窗口位置信息,并且下次运行它时,它将被最大化。

于 2014-09-09T21:52:57.997 回答
6

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

于 2009-05-15T16:32:59.770 回答
4

我也遇到了这个问题(似乎在 Windows 更新后触发),无论我做什么,我都会得到一些虚假的窗口布局。上述建议也没有奏效。但幸运的是:为什么 VS 2008 IDE 不记得我的偏好?删除:

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

工作。

TP

于 2012-04-13T08:43:17.927 回答
3

实际上我找出了罪魁祸首:以前的 VS 崩溃了。

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

于 2009-06-12T07:59:44.327 回答
3

我尝试了 Peter McG 的解决方案,但仍然没有帮助。最终对我有用的是删除我的 VS 解决方案用户选项 (.sou)。与我的解决方案位于同一目录中。

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

于 2012-01-17T00:05:45.133 回答
1

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

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

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

于 2009-05-15T04:09:08.887 回答
1

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

在 HKEY_CURRENT_USER\Software\Microsoft\VisualStudio\11.0\MainWindow 中。它被设置为“0 1000 -280 -100 3”可能是因为有多个屏幕和移动 UI 很多。

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

于 2015-09-16T13:39:20.597 回答
0

我面临着类似的问题。而且它也是最近才开始的,比如在过去 30 天内。我记得在此期间唯一改变的是更新 Resharper 4.5。

于 2009-05-27T20:44:03.787 回答
0

我经历过类似的事情。在我的情况下,文本编辑器的颜色(例如 c# 编辑器)正在变得混乱。我尝试并为我工作的唯一解决方案是更改颜色主题,然后再回到我想要的。

于 2014-11-14T14:06:25.387 回答
0

在我的情况下,不是窗口布局被破坏,而是 Intellisense 提供代码完成和弹出帮助。在过去的十年中从未遇到过这个问题,现在它每天至少发生 3 次。Win8.1、Visual Studio 2013、ReSharper 8 和现在的 ReSharper 9(希望升级能够修复它)。

我现在经常不得不

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

然后我可以在很长一段时间内再次正常工作,直到出现问题......让我在调试时说堆栈溢出。那时我只知道我的设置被搞砸了,我的 Intellisense 又死了。

我开始怀疑这是否与最新的 Visual Studio 更新有关。里面有一些我从不使用的东西,比如广告垃圾和 Office 开发集成。MS Office 有其自身的问题,例如任何其他应用程序(如 Quicken)都无法将 Office 64 位视为已安装的电子邮件程序。或者它可能与想要超越和“扩展”智能感知功能的 ReSharper 发生冲突。

无论哪种方式,我确信它是同一问题的不同表现形式:Visual Studio 设置在正常使用过程中会横向变化。

于 2015-01-01T18:15:57.073 回答
0

我刚刚在 VS 2012 中遇到了这个问题,重置窗口布局什么也没做。

我推断

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

%appdata%\Microsoft\VisualStudio\11.0\Windows.index

...删除它并恢复营业!

  • 确保首先关闭所有 VS 实例!
于 2015-04-15T20:34:07.993 回答