在VS 2015及更早版本中,设置存储在注册表中,例如HKEY_CURRENT_USER\SOFTWARE\Microsoft\VisualStudio\14.0_Config
。在VS 2017中,为了支持多个VS实例,根据this post,设置被移出注册表。
根据this SO answer,我以前一直在编辑注册表以在Windows处于高对比度模式时强制使用黑暗主题。现在我想在VS 2017中做同样的事情,但无法找到存储设置的位置,以进行此更改。
Visual Studio 2017存储了哪些设置?
答案 0 :(得分:61)
我在this blog post找到了答案:
在我的计算机上查看常规HKEY_CURRENT_USER \ Software \ Microsoft \ VisualStudio \ 15.0密钥的空白状态,并注意到没有15.0_Config密钥:
相反,VS 2017私有注册表存储在AppData文件夹中:
幸运的是,您可以使用regedit.exe加载私有配置单元。您需要选择HKEY_USERS节点,然后单击文件>加载配置单元...菜单。你选择了privateregistry.bin文件,为hive命名(我输入了“VS2017PrivateRegistry”),现在你可以看到像往常一样填充的15.0_Config键(注意:完成后使用File> Unload Hive):
使用本指南,我可以加载私人注册表,从the SO answer mentioned earlier进行更改,卸载配置单元并使用黑暗主题启动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'
答案 1 :(得分:3)
我已经实现了一种基于批处理文件的方法,可以自动执行所有操作,并且还可以备份高对比度主题,以防您因任何原因需要恢复它。
您可以在https://randomshaper.blogspot.com.es/2017/06/visual-studio-2017-high-contrast-hack.html
找到它答案 2 :(得分:0)
答案 3 :(得分:0)
以下VS2017PrivateRegistry.cmd批处理文件将所有Visual Studio 2017实例的注册表项加载为HKLM_TMPVS_ [id],启动注册表编辑器以便在Visual Studio设置中进行更改并在关闭注册表编辑器时卸载键:
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
注意:首先使用后台进程关闭运行Visual Studio 2017实例,然后使用管理员权限运行此文件。
有关详细信息,请参阅Changing Visual Studio 2017 private registry settings。
答案 4 :(得分:0)
真正的解决方法是让Visual Studio团队允许开发人员设置主题。如果您有兴趣解决这个问题,请转到此VS问题报告,然后关注它并发表评论以支持它。目前正在考虑中。
Visual Studio forces the user to use its High Contrast theme when Windows is in High Contrast mode