Visual Studio 2017在哪里存储其配置?

Gei*_*erg 35 visual-studio high-contrast visual-studio-2017

在VS 2015及更早版本中,设置存储在注册表中,例如HKEY_CURRENT_USER\SOFTWARE\Microsoft\VisualStudio\14.0_Config.在VS 2017中,为了支持VS的多个实例,根据这篇文章,设置被移出了注册表.

根据这个SO答案,我以前一直在编辑注册表以在Windows处于高对比度模式时强制黑暗主题.现在我想在VS 2017中做同样的事情,但无法找到存储设置的位置,以进行此更改.

这些设置存储在Visual Studio 2017中的哪个位置?

Gei*_*erg 66

我在这篇博文中找到了答案:

看看我的机器上的常规HKEY_CURRENT_USER\Software\Microsoft\VisualStudio\15.0密钥是多么空,并注意到没有15.0_Config密钥:

注册表编辑器

相反,VS 2017私有注册表存储在AppData文件夹中:

应用程序数据

幸运的是,您可以使用regedit.exe加载私有配置单元.您需要选择HKEY_USERS节点,然后单击File> Load Hive ...菜单.你选择了privateregistry.bin文件,为hive命名(我输入了"VS2017PrivateRegistry"),现在你可以看到像往常一样填充的15.0_Config键(注意:完成后使用File> Unload Hive):

私人登记

使用本指南,我能够加载私人注册表,从前面提到的SO答案进行更改,卸载蜂巢并使用黑暗主题启动VS 2017!

编辑:我不得不稍微修改我用来编辑注册表的PowerShell脚本,如果有人有兴趣,这里是更新版本:

EDIT2:现在修改为包括自动加载私有注册表,包括允许卸载配置单元的garbace集合:

注意:您必须为用户名(C:\Users\Geir)和VS版本(15.0_8165452c)找到自己的正确路径.

New-PSDrive HKU Registry HKEY_USERS

reg load 'HKU\VS2017PrivateRegistry\' "C:\Users\Geir\AppData\Local\Microsoft\VisualStudio\15.0_8165452c\privateregistry.bin"

$HighConstrastTheme = "HKU:\VS2017PrivateRegistry\Software\Microsoft\VisualStudio\15.0_8165452c_Config\Themes\{a5c004b4-2d4b-494e-bf01-45fc492522c7}"
$DarkTheme = "HKU:\VS2017PrivateRegistry\Software\Microsoft\VisualStudio\15.0_8165452c_Config\Themes\{1ded0138-47ce-435e-84ef-9ec1f439b749}"

Remove-Item -Path $HighConstrastTheme -Recurse
Copy-Item -Path $DarkTheme -Destination $HighConstrastTheme -Recurse

[gc]::collect()

reg unload 'HKU\VS2017PrivateRegistry'
Run Code Online (Sandbox Code Playgroud)