在 Windows 中,我总是使用 125% 系统 DPI。Visual Studio 自 2013 年以来就不喜欢这种情况。典型的字体(Consolas)在垂直方向上渲染得略微“太短”,它基本上在中间某处缺少一行像素。
你可以在这个截图对比中看到它,特别注意字母“e”:
Microsoft Connect 论坛上曾经有一个关于此问题的帖子,有人找到了一个简单的注册表调整来修复它。不幸的是,该网站已被拆除,帖子也不见了。它曾经位于此位置:https://connect.microsoft.com/VisualStudio/feedback/details/800283/change-of-consolas-font-rendering-in-vs2013
还有其他人,他们今天每次重新安装 Visual Studio 时仍然会遇到这个问题,不幸的是,他们想查看该线程并查看注册表调整,但却无法做到:https://developercommunity.visualstudio.com/content/problem/67307/editor-font-is-squished-vertically-with-consolas-1.html和https://developercommunity.visualstudio.com/content/problem/2581/consolas-10-with-a-system-dpi-of-120-is-not-render.html
修改什么注册表可以修复此问题?
答案1
修复此问题的注册表值位于此路径,至少对于 Visual Studio 14.0 及更早版本而言:
Computer\HKEY_CURRENT_USER\Software\Microsoft\VisualStudio\14.0\Text Editor\
在该位置,我们需要添加键名“RoundFontSizes”,类型为“REG_DWORD”,值为 0。
不幸的是,在 Visual Studio 的后续版本中,微软不再依赖 Windows 注册表,而是使用 %APPDATA% 中的某个私有注册表文件。但我们仍然可以编辑它并添加我们需要的值!
在我的计算机上,这个私人注册表文件位于:
C:\Users\mynamehere\AppData\Local\Microsoft\VisualStudio\16.0_827ec51e\privateregistry.bin
我们仍然可以使用 Windows 注册表编辑器!在注册表编辑器中,突出显示“HKEY_USERS”,然后转到文件 -> 加载 Hive。然后找到 privateregistry.bin。系统会要求您输入一个名称,您可以随意命名,例如“VS2019PreviewConfig”。
然后,导航到其中并找到前面提到的“...\Text Editor\”位置。这里可能没有设置,但没关系。添加一个新的 DWORD 值“RoundFontSizes”,并将其保留为 0。
然后,在导航窗格中,突出显示您使用的任何名称加载的注册表(例如,对我来说是 VS2019PreviewConfig),然后使用文件->卸载 Hive。
然后再次启动 Visual Studio,希望看到修复的文本!