如何更改“Visual Studio 2017”文件夹的位置?

50

如何更改在%USERPROFILE%/Documents下创建的“Visual Studio 2017”目录的位置?

在2015年及之前的版本中,您可以通过编辑注册表将所有文件夹移出“My Documents”,但是这些值似乎已经变化适用于VS2017:

旧方法:更改“Visual Studio 2010”文件夹位置

更新

我已更改默认的项目和模板位置,但这些目录仍然存在于我的文档中:

My Documents中的目录


当然 HKEY_CURRENT_USER\Software\Microsoft\VisualStudio 仍然存在。 - OneCricketeer
2
该键存在,但这些值已经消失。 - jessehouwing
这似乎很接近:https://facility9.com/2009/06/changing-ssms-and-visual-studio-default-project-location/ - jessehouwing
谢谢大家的帮助,但还差一点。移动“Projects/Templates”文件夹后,仍有一些目录未被删除。 - Duodenalsalmons
它本来就不应该在用户的文档文件夹中创建这些文件夹/文件。我现在有四个:2010、2015、2017和2019,只是占用(视觉)空间。 - Xonatron
这些文件夹可以删除吗? - Xonatron
3个回答

65

(我把这个问题标记为重点,因为我肯定会在下一个Visual Studio版本中需要这个答案...每次我设置新机器时都会忘记。上次我从一堆不同的网站上凑出来了这个方法,但可惜我的谷歌技能现在无法再找到它们了,因此我要真诚地感谢那些匿名开发者。)


终于有一个我可以回答的问题了!我也花了无数小时来尝试解决这个问题。你的评论者是正确的--设置仍然由相同的注册表键控制,只是随着切换到不同的安装程序,这些键的位置已经移动了。看这里

  • 以前,Visual Studio将许多注册表键安装到系统的HKEY_LOCAL_MACHINEHKEY_CURRENT_USER下的Visual Studio特定键中:
    • HKLM\Software\Microsoft\VisualStudio\Version: [...]
    • HKCU\Software\Microsoft\VisualStudio\Version: [...]
    • HKLM\Software\Microsoft\VisualStudio\Version_Config: [...]
  • 为了减少对注册表的影响,Visual Studio现在使用RegLoadAppKey函数将注册表键存储在%VsAppDataFolder%\privateregistry.bin下的私有二进制文件中。[...]

因此,你需要做的就是找到该文件,在注册表编辑器(例如regedit.exe)中加载它,将值更改为你喜欢的样子,然后以相同格式保存文件。在我的机器上,该文件位于:

C:\Users\Ernest\AppData\Local\Microsoft\VisualStudio\15.0_dfee2c30

由于我的用户名非常明显,所以不会进行审查。以下是使用 regedit.exe 进行编辑的方法:

首先,选择一个位置来加载注册表文件(我使用了 HKEY_USERS)。只要在加载注册表文件时不覆盖任何内容(它会警告你),选择那个键,并转到 文件 > 加载注册表文件...,并打开上述的privateregistry.bin文件。输入一个要加载的键名(例如“VS2017_config”),然后您将看到过去版本中用于配置路径的熟悉键。更改这些内容。完成后,选择您加载的注册表文件(例如“VS2017_config”),并转到 文件 > 卸载注册表文件...。这应该正确设置文件夹路径。


请注意,如果您打算使用 Visual Studio Blend,则这些文件夹会再次出现,请记得更改这些内容。

编辑: 对于我来说Blend的相应注册表文件在这里:

C:\Users\Ernest\AppData\Local\Microsoft\Blend\15.0_dfee2c30


编辑 2018: @ofthelit 友好地发布了官方页面,其中包含相关信息。


3
太棒了 - 这个完美地运作了。非常感谢! - Duodenalsalmons
2
这些文件夹在 Visual Studio 修复后也被重置了,但只需要 5 分钟的修复即可加载/编辑/卸载注册表。 - Duodenalsalmons
2
在Visual Studio 2017中,注册表设置存储在私有位置,这使得同一版本的Visual Studio可以在同一台计算机上具有多个并排实例。文档位置:https://learn.microsoft.com/en-us/visualstudio/install/tools-for-managing-visual-studio-instances - ofthelit
到目前为止,VS2019的第一个预览似乎遵循相同的模式。 - Chris R. Donnelly
1
我找到解决方法了:如果你将MyDocumentsLocation设置为非真正的文档位置,那么该文件将被重新生成。否则,它会被接受。 - florien
显示剩余5条评论

28

或者(在 Visual Studio 2017 中)只需转到 工具 >> 选项 >> 项目和解决方案 >> 位置

输入图像描述


2
好的,VisualStudioLocation的regedit更优秀,因为它可以一次性地更改所有内容,包括代码片段位置。(此外,即使您删除了它,“Visual Studio”始终会为Visual Basic创建一个“My Snippets”,其位置只能使用regedit方法更改。) - user2534096
2
是的,我发布答案的原因是即使更改这些设置,仍会留下不必要的文件夹。如果您不在意这些文件夹,我同意这是一个很好的答案。 - Ernest3.14
1
关于“危险的注册表”,它是与整个计算机的注册表条目分开的一个单独的蜂巢,因此您搞砸的任何东西都可以轻松地通过VS安装程序进行修复。(如果您实际上已经阅读了我的答案...)这不是您典型的“更改一堆注册表条目以‘修复’您的计算机”。 - Ernest3.14
1
这只是为我更改了模板的位置,而不是整个“Visual Studio 2017”目录。 - Chris R. Donnelly
@chris-r-donnelly 对我有所帮助,因为在更改整个“Visual Studio 2017”目录后,这两个模板仍然会自动创建。 - jifb

0
如果您已为项目启用源代码控制,则除了David所回答的步骤外,您还必须将TFS本地路径位置映射到新项目位置:
In VS 2017: 
File -> Source Control -> Advanced -> Workspaces -> Edit the relevant 
Workspace -> Select the Project -> Edit path to Local Folder to be the new 
location.

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接