Visual Studio 2017在哪里存储它的configuration?

在VS 2015及更早版本中,设置存储在registry中,例如HKEY_CURRENT_USER\SOFTWARE\Microsoft\VisualStudio\14.0_Config 。 在VS 2017中,为了支持VS的多个实例,根据这个post ,设置被移出了registry。

根据这个答案 ,我以前一直在编辑registry来强制黑暗主题,当Windows处于高对比度模式。 现在我想在VS 2017中做同样的事情,但是无法find存储设置的位置,请进行更改。

这些设置在Visual Studio 2017中存储在哪里?

我在这篇博文中find了答案:

看看我的机器上普通的HKEY_CURRENT_USER \ Software \ Microsoft \ VisualStudio \ 15.0键有多空,并注意到没有15.0_Config键:

注册表编辑器

相反,VS 2017私人registry存储在您的AppData文件夹中:

应用程序数据

幸运的是,您可以使用regedit.exe加载私人configuration单元。 您需要selectHKEY_USERS节点,然后单击File> Load Hive …菜单。 您selectprivateregistry.bin文件,为该configuration单元命名(我input了“VS2017PrivateRegistry”),现在您可以像往常一样查看15.0_Config密钥(注意:使用File> Unload Hive完成后):

私人注册表

使用本指南,我可以加载私人registry,从前面提到的SO回答中进行更改,卸载configuration单元,并启动VS黑暗主题!

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

编辑2 :现在修改,以包括私人registry自动加载,包括garbace集合,以允许卸载configuration单元:

:您必须为用户名( C:\Users\Geir )和VS版本( 15.0_8165452c )find自己的正确path。

 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' 

通过检查Process Monitor中的日志,可以看到它检查相同的registry项。

VS注册表键访问

这只是没有创build。 你需要创build它。 名称的一部分( e3d5273c )在您的机器上可能会有所不同。

我已经实现了一种基于batch file的方法,可以自动执行所有操作,并且还可以备份高对比度主题,以防因任何原因需要恢复。

你可以在https://randomshaper.blogspot.com.es/2017/06/visual-studio-2017-high-contrast-hack.htmlfind它。;

以下VS2017PrivateRegistry.cmdbatch file将所有Visual Studio 2017实例的registry项作为HKLM_TMPVS_ [id]加载,启动registry编辑器,以便在Visual Studio设置中进行更改,并在closuresregistry编辑器时卸载密钥:

 for /d %%f in (%LOCALAPPDATA%\Microsoft\VisualStudio\15.0_*) do reg load HKLM\_TMPVS_%%~nxf "%%f\privateregistry.bin" regedit for /d %%f in (%LOCALAPPDATA%\Microsoft\VisualStudio\15.0_*) do reg unload HKLM\_TMPVS_%%~nxf 

注意:首先closures运行带有后台进程的Visual Studio 2017实例,然后使用pipe理员权限运行该文件。

请参阅更改Visual Studio 2017私有registry设置以获取更多详细信息

Interesting Posts