修复 Linux 上的 VSCode 颜色错误
作为一名开发人员,我喜欢 VSCode。使用 VSCode 几年了,对于 Windows 来说,总是一帆风顺。
PS。 ——我也设计和游戏。所以Windows是❤
问题开始的地方。
转移到 Pop_OS 进行项目,安装 VSCode,当我开始编写代码时,我注意到我的编辑器选项卡有“多个颜色块”。没有任何代码/文本的空白区域与具有代码/文本的区域具有不同(较暗)的颜色。
[
](https://res.cloudinary.com/practicaldev/image/fetch/s--NJHBf2qe--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev -to-uploads.s3.amazonaws.com/i/qkf772nbdfhix37zv3q8.png)
让计算机进入睡眠状态并唤醒它引入了另一个问题。 VSCode 终端和代码预览区域充满了噪音......白噪音。这里没有比喻。实际的白噪声。
[
](https://res.cloudinary.com/practicaldev/image/fetch/s--Q6f_jlMS--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to- uploads.s3.amazonaws.com/i/tx38phknicdieoofmwdd.jpeg)
使用 Windows 进行计数器检查
在此之后,我启动了我的 Windows 安装以检查它是否是新的更新,但一切正常。没有色块,没有嘈杂的白点。
[
](https://res.cloudinary.com/practicaldev/image/fetch/s--OukKsaJp--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to- uploads.s3.amazonaws.com/i/c4vf1745v4h6y8nnm9ht.png)
我发现了什么。
我尝试过的几乎所有发行版都出现了这个 Linux 问题:
-
Ubuntu 18.04 LTS
-
Pop-OS 19.10(英伟达和英特尔/AMD)
-
基本操作系统
-
薄荷......还有更多。
为什么会这样?
虽然我找到了解决办法,但我无法弄清楚它发生的原因或方式的深度。它肯定与 linux 上的应用程序如何渲染颜色和颜色配置文件有关,因为修复包括颜色正确渲染和强制颜色配置文件。
如果您发现其他原因,请务必在帖子中回复您的发现。
解决方案。 (VSCode v1.43.x 及更高版本)
微软热衷于在每次更新时弄乱解决方案。目前:
- 在 VSCode 中,打开命令面板 (Ctrl+Shift+P) 并搜索 "Configure Runtime Arguments"。选择它并按 Enter。
2.应该已经有一个条目:
"disable-color-correct-rendering": true
只需删除该条目或使用 // 将其注释掉。
如果还有更多条目,请删除这些条目。
繁荣!问题已修复。
对于那些愿意阅读整个过程的人,这里是对该问题的彻底汇编:
链接到我的 Medium 故事
旧版/旧版解决方案(适用于 1.43.x 之前的版本)
这个问题是 VSCode 在 Linux 上的一个奇怪的渲染问题。我找到了一个非常简单的解决方法:
- 在 VSCode 中,打开 Command Palette (Ctrl+Shift+P) 并搜索 "Configure Runtime Arguments"。选择它并按 Enter。
2.应该已经有一个条目:
"disable-color-correct-rendering": true
在此条目后添加逗号 (,)。即使没有入口,只要放一个代码块({})并跟随。
1.粘贴
"disable-hardware-acceleration": true,
(在下一行,如果已经有一个条目)在同一代码块内。
- 保存文件。重启 VSCode
繁荣!问题已修复。
链接到原始解决方案。
仍未修复?
这个问题可能仍然没有为每个人解决(因为它不适合我)。只需按照以下步骤操作:
- 打开命令面板 (Ctrl+Shift+P) 并搜索 "Configure Runtime Arguments" 并按 Enter。现在只需在最后添加这一行
"force-color-profile": "srgb",
它将在条目下方显示一条锯齿形线,并说**“不允许使用属性强制颜色配置文件。”**。只需忽略它并保存文件。
1.重启VSCode。瞧!!!问题已修复。
更多推荐




所有评论(0)