如何在Windows 10高对比度主题下使用SQL Server Management Studio 2017深色主题?
解决SSMS 2017在Windows高对比度主题下深色主题被覆盖的问题
嘿,我之前也碰到过和你一模一样的情况——靠VS的方法搞定了VS2017的深色主题,结果到SSMS 2017这儿就栽了,改了ssms.pkgundef还是被系统高对比度盖过去。结合踩过的坑,给你几个亲测有效的方案:
1. 正确修改ssms.pkgundef配置
首先得确保你对这个文件的修改是正确的:
- 找到路径:
C:\Program Files (x86)\Microsoft SQL Server\140\Tools\Binn\ManagementStudio\ssms.pkgundef - 必须以管理员身份打开编辑器(比如右键记事本选「以管理员身份运行」),不然改完存不了
- 找到下面这行,给它加上
//注释掉(原来的作用是移除深色主题,注释后就不会禁用它了)://[$RootKey$\Themes\{1ded0138-47ce-435e-84ef-9ec1f439b749}] - 保存文件后,完全关闭SSMS再重新打开
2. 注册表强制锁定SSMS主题
有时候系统高对比度会优先覆盖应用设置,这时候直接在注册表指定主题更靠谱:
- 按下
Win+R输入regedit打开注册表编辑器 - 导航到两个关键路径,分别设置主题GUID:
- 第一个路径:
HKEY_CURRENT_USER\Software\Microsoft\SQL Server Management Studio\14.0_Config\Themes- 右键新建「字符串值」,命名为
CurrentTheme,值设为{1ded0138-47ce-435e-84ef-9ec1f439b749}(这是SSMS深色主题的专属GUID)
- 右键新建「字符串值」,命名为
- 第二个路径(因为SSMS基于VS2015 shell,也要同步设置):
HKEY_CURRENT_USER\Software\Microsoft\VisualStudio\14.0_Config\Themes- 同样新建
CurrentTheme字符串值,设置相同的GUID值
- 同样新建
- 第一个路径:
- 设置完成后重启SSMS,必要时可以重启Windows让注册表生效
3. 单独禁用SSMS的高对比度适配
如果上面的方法还是不行,可以直接让SSMS忽略系统高对比度:
- 找到SSMS的快捷方式(桌面或开始菜单里的),右键选「属性」
- 切换到「兼容性」选项卡
- 勾选「禁用高对比度」选项,点击「应用」
- 重新打开SSMS,深色主题应该就能正常显示了
额外小技巧
如果还是有缓存问题,可以试试删除SSMS的本地缓存:
- 打开文件资源管理器,输入
%LOCALAPPDATA%\Microsoft\SQL Server Management Studio\14.0 - 删除
ComponentModelCache文件夹,然后重启SSMS
内容的提问来源于stack exchange,提问作者plumkaZ
相关产品推荐
相关产品推荐

