首页 文章

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

提问于
浏览
31

在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中的哪个位置?

5 回答

  • 53

    我在this blog post找到了答案:

    看看我的机器上的常规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):

    使用本指南,我能够加载私人注册表,从the SO answer mentioned earlier进行更改,卸载蜂巢并使用黑暗主题启动VS 2017!

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

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

    NOTE :您必须找到自己的用户名( 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'
    
  • 3

    我已经实现了一种基于批处理文件的方法,可以自动完成所有操作,并且还可以备份高对比度主题,以防您因任何原因需要恢复它 .

    你可以在https://randomshaper.blogspot.com.es/2017/06/visual-studio-2017-high-contrast-hack.html找到它

  • 0

    通过检查Process Monitor中的日志,您可以看到它检查相同的注册表项 .

    VS registry key access

    它只是没有创建 . 你需要创建它 . 名称( e3d5273c )的部分可能与您的计算机上的不同 .

  • 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 .

  • 0

    对此的真正解决方案是Visual Studio团队允许开发人员设置主题 . 如果您有兴趣解决这个问题,请转到此VS问题报告,然后关注它并发表评论以支持它 . 目前正在考虑中 .

    Visual Studio forces the user to use its High Contrast theme when Windows is in High Contrast mode

相关问题