我知道我可能可以设置别名或类似的东西,但我真正想要寻找一种方法来确保 VSCode 始终开始使用特定参数,无论它是如何被调用的。没有必须设置别名、修改快捷方式,并且通常尝试在数百个不同的地方解决这个问题。
我需要这个,因为尽管 VSCode 报告了相反的修复,但在启用 HDR 的显示器上执行时却无法选择正确的调色板。
看上去很“暗淡”。
现在我知道如何让它看起来不错了。如果我以 启动它code --force-color-profile srgb
,一切都会变得清晰,它看起来像这样。
好多了。
但我不想每次都输入这些。当从外部工具执行代码时,别名也无济于事。
有没有办法在任何情况下强制将此设置纳入 VSCode?
答案1
这是一个(未经测试的)黑客攻击,但可以轻松撤消:
.bat
创建包含以下命令的批处理文件 (start "" "C:\Program Files\Microsoft VS Code\Code.exe" --force-color-profile srgb
code.exe
(您的计算机上的路径可能有所不同。)将文件转换为
.exe
名为 的文件code.exe
。请参阅 如何将 Windows 批处理脚本转换为 .exe?在文件夹中
C:\Program Files\Microsoft VS Code
,重命名code.exe
并用上面创建的文件替换它。
当/如果您将代码更新为新版本时,可能需要重复此操作。
答案2
警告:该过程需要更改 VSCode 安装中一个非常完整的文件。使用错误的 JavaScript 代码编辑此文件可能会破坏它。 备份在进行任何进一步更改之前,请先检查所需的文件。
此过程将适用于每个基于 Electron 框架的应用程序。因为--force-color-profile
命令行选项适用于 Chromium。根据文档:
强制将所有显示器视为具有指定的颜色配置文件。可接受的值为“srgb”和“generic-rgb”(当前由 Mac 布局测试使用)以及“color-spin-gamma24”(由布局测试使用)。
首先关闭任何正在运行的 Visual Studio Code 会话。打开 VSCode 安装文件夹。然后转到资源 > app > out 文件夹。main.js
在任何编辑器中打开文件。添加此行:
app.commandLine.appendSwitch('force-color-profile', 'srgb');
这会将命令行附加到底层 Chromium 引擎。现在打开 VScode。
来源: Microsoft/Vscode:问题 #65816