我想自定义 VSCode 颜色设置一般用于深色或浅色主题变体,例如:
"workbench.colorCustomizations": {
"light": {
"editor.background": "#ff0000",
}
}
但是,据我所知,只能为所有情况或特定主题定义颜色,例如
"workbench.colorCustomizations": {
"editor.background": "#ff0000",
"[Default Light+]": {
"editor.background": "#ff0000"
}
}
此解决方案的问题是,它适用于任何地方或一个特定主题,而不是任何轻变主题一般。
实际上,颜色确实有暗/亮/高对比度变体的默认值。例如,当通过扩展程序的 package.json 中的contributes.colors 添加颜色时,可以这样做:
"contributes": {
"colors": [
{
"id": "mycolour",
"description": "my colour",
"defaults": {
"dark": "#ffffff",
"light": "#000000",
"highContrast": "#010203"
}
}
]
}
有没有办法在用户设置中自定义颜色的通用变体,就像在contribus.colors中一样?我在这个主题上找到的文档并不是我所说的详尽的(基本上只是几个例子),但可能有一些我错过的东西。另外,我在上面的示例中使用了工作台。*,因为我最感兴趣的是该设置,而不是编辑器。*颜色设置。
看起来基于@uEv340yQ3gU1的回答,暂时不支持此功能。然而在https://stackoverflow.com/a/69200037/17196251我发现现在支持指定多个主题和通配符!请参阅https://code.visualstudio.com/updates/v1_59#_extended-theme-customization-syntax
我们可以通过指定通配符
[*Light*]
或 [*Dark*]
(以及您经常使用的任何主题,例如 Monokai)来完成一个不错的解决方法。看起来像这样
"workbench.colorCustomizations": {
// Default
"editor.background": "#000000",
// Exception for light themes
"[*Light*][AnotherTheme]": {
"editor.background": "#ffffff"
}
}
我目前使用它来指定自定义括号着色,在深色主题上使用白色作为第一个括号,在浅色主题上使用黑色!呜
https://github.com/microsoft/vscode/issues/101418 是对此的功能请求,但它已于 2021 年关闭并锁定。