跳到主要内容

语义标记(Semantic Tokens)

根据符号含义着色,而不是只靠 TextMate 语法的正则。例如同一个单词,作为类名和作为局部变量可以是不同颜色。

扩展实现 DocumentSemanticTokensProvider,返回整篇文档的标记数据;或实现范围版本,只返回可见区域。标记的类型和修饰符要在贡献点 semanticTokenTypes、semanticTokenModifiers 里声明,主题才能映射颜色。

语法高亮用 contributes.grammars。语义标记更准,也更贵,通常和语言服务器一起做。

参考:https://code.visualstudio.com/api/language-extensions/semantic-highlight-guide