.vue文件全白是因为vscode未正确识别为vue文件,需确保右下角语言模式为vue、禁用冲突的vetur、启用volar take over模式并重启窗口。

VSCode 默认已启用基础代码高亮,离线可用,无需联网或额外服务;真正需要手动干预的,通常是语言识别错、主题不匹配、或插件冲突——而不是“高亮没开”。
为什么 .vue 文件打开全是白底黑字?
不是高亮被关了,是 VSCode 没把文件当 Vue 处理。Volar(Vue 3 唯一推荐插件)必须接管语言服务,否则 defineProps、ref、<template></template> 内部变量全无颜色。
- 右下角语言模式必须显示
vue,不是HTML或Plain Text;点它 → 选Configure File Association for '.vue'→ 输入vue - 禁用
Vetur:它和 Volar 冲突,共存时高亮降级、类型报红,必须彻底禁用(不是卸载) - 确认项目根目录有
tsconfig.json,且"exclude"字段没写"node_modules"—— 否则 Volar 找不到@vue/language-core - 开启
Volar: Take Over Mode(命令面板输入并执行),重启窗口,右下角出现Volar (Take Over)才算生效
Color Highlight 色块不显示?先查这三处
Color Highlight 插件渲染色块依赖语言模式 + 装饰开关 + 正则匹配,离线也能跑,但容易卡在中间某环。
- 右下角语言必须是
CSS、SCSS、HTML、Vue等受支持类型;plaintext或未识别的扩展名不会触发 - 检查
editor.decorations是否为true(设置里搜该关键词,必须启用) - 若想高亮 CSS 变量如
var(--primary),需手动加正则规则到colorHighlight.colors设置项,原生不支持 - macOS 用户注意:若用 pnpm,
pnpm store path返回路径需可读,否则插件解析失败(权限问题不报错,只静默失效)
自定义关键字颜色为什么没反应?
editor.tokenColorCustomizations 是纯客户端配置,离线有效,但 scope 写错就完全不生效——它不报错,只沉默跳过。
- 别凭经验猜 scope,用
Help → Toggle Developer Tools→ 控制台执行editor.getTokenClassificationAtPosition(editor.getPosition())查真实 scope 名 - 常见 scope 如
keyword、support.type.property-name、variable.other.readwrite,不同语言差异极大 - 修改
settings.json后无需重启,但作用域变更(比如从 JS 切到 TS)可能需重开文件才能刷新 - 如果用了主题(如 One Dark Pro),它的 token 颜色可能覆盖你写的
editor.tokenColorCustomizations,优先级低于主题内置规则
最常被忽略的是:语言模式识别错误和装饰开关关闭,这两项不解决,装再多插件、写再细的 JSON 都没用。Volar 的 Take Over 模式也必须完整重启窗口,热重载不生效。











