如何在 vscode 扩展中获取 vscode 主题颜色?

hen*_*noc 4 visual-studio-code vscode-extensions

我想在我的扩展中使用当前 vscode 主题中使用的一些颜色。我如何获得颜色?

换句话说,我想在扩展运行时使用原始颜色与基本 vscode 窗口匹配扩展的颜色。

Ale*_*lex 8

您可以参考 工作台颜色

const color = new vscode.ThemeColor('badge.background');
Run Code Online (Sandbox Code Playgroud)

这将使您参考当前主题徽章的颜色。

请注意,您不能引用 TM 范围项:#32813

https://code.visualstudio.com/docs/extensionAPI/vscode-api#_a-namethemecoloraspan-classcodeitem-id244themecolorspan

  • 有没有办法让 ThemeColor 背后有真实的颜色?[参见问题](https://github.com/microsoft/vscode/issues/34411)。 (4认同)

ida*_*anp 5

为了访问 WebView 上下文中的主题颜色,为所有主题颜色生成了 css 变量。例如,为了获得:

editor.background
Run Code Online (Sandbox Code Playgroud)

您可以使用 css 变量:

var(--vscode-editor-background)
Run Code Online (Sandbox Code Playgroud)