editor.tokencolorcustomizations仅修改语法作用域颜色,无法替代插件实现注释标记、颜色块、单词高亮等功能;失效主因是scope不准确或被主题/语义高亮覆盖,须用developer: inspect editor tokens精准获取scope并配置。

editor.tokenColorCustomizations 不能替代插件,它只改语法作用域颜色,不处理注释标记、颜色块、单词高亮这些视觉增强。
为什么改了 editor.tokenColorCustomizations 没反应?
常见现象是:写了规则但关键字/字符串/注释颜色完全没变。原因往往不是配置错,而是 scope 没抓准或主题覆盖了设置。
- 必须用
Developer: Inspect Editor Tokens(Help → Toggle Developer Tools → 右键代码 → Inspect Editor Tokens)查真实 scope,比如support.type.go和keyword.control.js完全不同 -
editor.tokenColorCustomizations只在当前主题启用时生效;换主题后得重配,且部分轻量主题(如 "Quiet Light")会忽略 background 字段 - 如果装了语义高亮插件(如 Volar、TypeScript Hero),它们可能用
semanticTokenColors覆盖你的 textMateRules,此时要改"semanticTokenColors"分支
colorHighlight.languages 必须手动加 vue 才能高亮 scoped style
默认值里没有 vue,所以 <style scoped></style> 里的 #42b883 不显示色块——这不是 bug,是设计行为。
- 在
settings.json中显式补上:"colorHighlight.languages": ["css", "scss", "html", "vue", "javascript"] - 若用
<style lang="scss"></style>,scss也得在列表里,缺一不可 -
colorHighlight.showColorsInComment: true才能让// background: #ff6b6b这类注释生效,否则只认代码区
todo-tree.general.tags 加新标签要重启扫描,不是实时的
你加了 "REVIEW" 到 todo-tree.general.tags,但旧文件里 // REVIEW: 还是不标红?因为 Todo Tree 不监听 settings.json 变更。
- 改完保存
settings.json后,必须手动触发Todo Tree: Refresh Tree(命令面板 Ctrl+Shift+P) - 若想全局生效,还得确保
todo-tree.filtering.includeGlobs包含对应文件类型,比如加"**/*.py"才扫 Python 文件 - 别把
todo-tree.highlights.customHighlight写成数组——它只接受对象,写成[{"REVIEW": {...}}]会静默失效
highlight-words 的 highlightwords.defaultMode 值容易配错
设成 1 是“全词匹配”,但很多人误以为是“开启高亮”,结果搜 a 却不标亮 ab 里的 a,以为插件坏了。
-
0= 默认模式(子串匹配),1= whole word(严格单词边界),2= ignore case,3= both - 快捷键
F8默认绑定到highlight-words.highlight命令,但若和其他插件冲突(比如 Vim 插件),得进keybindings.json手动重绑 - 高亮颜色由
highlightwords.colors控制,它是个数组,顺序决定优先级;第 1 个颜色用于首次高亮,第 2 个用于第二次,依此类推











