Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/visual-studio-code/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Visual studio code 以编程方式检测浅色与深色主题_Visual Studio Code - Fatal编程技术网

Visual studio code 以编程方式检测浅色与深色主题

Visual studio code 以编程方式检测浅色与深色主题,visual-studio-code,Visual Studio Code,是否可以通过编程来检测当前主题在VSCode中是亮的还是暗的 用例: 我正在开发一个VSCode扩展,它将添加到编辑器中,我希望悬停中有图标。但是,悬停的背景会根据当前的颜色主题发生变化,因此我需要根据颜色主题选择要显示的图标 在VSCode中的其他几个位置,您可以在表单中指定图标URL: let icon = { light: "uri for light icon", dark: "uri for dark icon", }; 很明显,VSCode有一个光明与黑暗主题的概念

是否可以通过编程来检测当前主题在VSCode中是亮的还是暗的

用例:

我正在开发一个VSCode扩展,它将添加到编辑器中,我希望悬停中有图标。但是,悬停的背景会根据当前的颜色主题发生变化,因此我需要根据颜色主题选择要显示的图标

在VSCode中的其他几个位置,您可以在表单中指定图标URL:

let icon = {
    light: "uri for light icon",
    dark: "uri for dark icon",
};
很明显,VSCode有一个光明与黑暗主题的概念


这类似于AFAIK,但答案仅适用于网络视图,并且在关闭后也会出现此问题,从VS代码1.40开始,没有此问题的API。求你了

如果您今天真的非常想要这些信息,您可以阅读当前用户的
“workbench.colorTheme”
设置并将其映射到暗/亮。与其硬编码此映射,不如使用
vscode.extensions.all.map(ext=>ext.packageJSON)
在所有已知扩展的
contributions
中循环查找它。下面是一个主题贡献示例(您感兴趣的属性是
uiTheme
):


谢谢,我感谢你花时间回复。事实上,我昨天去提交了一个功能请求,并意识到已经有一个问题确切地描述了我在这里寻找什么:
{
    ...
    "contributes": {
        "themes": [
            {
                "label": "Red",
                "uiTheme": "vs-dark",
                "path": "./themes/Red-color-theme.json"
            }
        ]
    }
}