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