如何在 VSCode 用户设置中指定深色和浅色主题的颜色

问题描述 投票:0回答:2

我想自定义 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中一样?我在这个主题上找到的文档并不是我所说的详尽的(基本上只是几个例子),但可能有一些我错过的东西。另外,我在上面的示例中使用了工作台。*,因为我最感兴趣的是该设置,而不是编辑器。*颜色设置。

visual-studio-code colors variant
2个回答
7
投票

看起来基于@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"
    }
}

我目前使用它来指定自定义括号着色,在深色主题上使用白色作为第一个括号,在浅色主题上使用黑色!呜


1
投票

https://github.com/microsoft/vscode/issues/101418 是对此的功能请求,但它已于 2021 年关闭并锁定。

© www.soinside.com 2019 - 2024. All rights reserved.