vscode颜色配置出错主因是tokencolorcustomizations或semantictokencolorcustomizations为空、结构错误或scope名写错;应删除空配置、用inspect editor tokens验证scope、确保semantic配置独立且启用。

VSCode颜色配置出错,通常不是语法本身写错了,而是editor.tokenColorCustomizations或editor.semanticTokenColorCustomizations被设为空、结构不合法,或 scope 名写错导致整块高亮失效。
检查 settings.json 里 tokenColorCustomizations 是否为空或结构错误
很多人为了“统一风格”手动清空了颜色配置,结果所有关键字、字符串、注释全变成同一种灰——这不是主题坏了,是配置把高亮关掉了。
- 打开设置(
Ctrl + ,),搜tokenColorCustomizations,点「在 settings.json 中编辑」 - 确认没有
"editor.tokenColorCustomizations": {}或"textMateRules": []这类空对象/空数组 - 如果存在,直接删掉整段;若只想禁用某项,改用
"enabled": false而非清空 - 注意 JSON 格式:末尾不能有多余逗号,
settings必须是对象,textMateRules必须是数组
scope 名写错一个字母就完全不生效
VS Code 的语法高亮靠 TextMate scope 匹配,support.function 和 support.function.js 是两码事,写错就匹配不上,也不会报错,只会静默失效。
使用ydata-profiling(前身为pandas-profiling)生成全面的数据质量报告,包含相关性分析、缺失值模式和基数检测。导出交互式HTML仪表板和JSON摘要。
- 按
Ctrl + Shift + P输入Developer: Inspect Editor Tokens and Scopes,光标停在目标词上(比如console.log) - 右侧弹窗里看真实 scope 列表,复制最具体、最靠前的那个(如
support.function.console) - 别抄网上片段,尤其避免模糊 scope 如
entity.name.function—— 它可能根本没被当前语法包定义 - 自定义时优先用带语言后缀的 scope,例如
keyword.control.js而非keyword.control
semanticTokenColorCustomizations 配置错位导致 JS/TS 高亮异常
TypeScript 和 JavaScript 的语义高亮(函数名、参数、类型等)依赖 editor.semanticTokenColorCustomizations,但这个配置必须和 typescript.preferences.semanticHighlighting 开关配合,且不能和 tokenColorCustomizations 混用。
- 先确认设置里
typescript.preferences.semanticHighlighting是true(推荐开启) -
editor.semanticTokenColorCustomizations必须是顶层字段,不能嵌在editor.tokenColorCustomizations里 - 它的结构是
{"enabled": true, "rules": {...}},不是{"textMateRules": [...]} - 如果同时写了两个配置,语义高亮会退化为纯文本级语法着色,
function和const颜色可能突然一致
真正难排查的是「看起来有颜色,但该亮的没亮、不该亮的反而亮了」——这时候大概率是 scope 匹配链断裂,或者某个插件悄悄覆盖了 token 分类逻辑。Inspect Editor Tokens 是唯一可信依据,别猜,要点开看。










