Vue语法高亮离线失效主因是插件“假成功”:已安装但未激活、缺语言服务器或版本/架构错配;Vetur已归档,Vue 3 项目必须用 Volar 并启用 Take Over Mode,Vue 2 项目限用 vetur-0.34.1 且 VS Code 主版本 ≤1.79.2。

Vue 语法高亮在离线环境下失效,基本不是“没装上”,而是装了但没激活、缺语言服务器、或版本/架构错配——Vetur 和 Volar 都会静默失败,不报错也不提示,只让 .vue 文件显示为 Plain Text。
确认你该用 Vetur 还是 Volar
Vetur 已归档,官方明确推荐迁移到 Vue Language Features (Volar);但如果你维护的是 Vue 2 项目,必须用 Vetur ≤0.34.1,因为 0.35.0+ 只适配 Vue 3(基于 Volar 架构),强行安装会导致 <template></template> 区域无校验、data() 返回对象属性无补全。
- Vue 2 项目 → 下载
vetur-0.34.1.vsix,且 VS Code 主版本 ≤ 1.79.2(1.80+ 已移除旧 LSP 支持) - Vue 3 项目 → 下载对应 VS Code 版本和系统架构的
volarjs.volar-*.vsix,同时必须安装同版本的TypeScript Vue Plugin (Volar) - 二者不能共存:启用
Volar前,务必在扩展面板中禁用Vetur,否则补全失效、CPU 暴涨、类型推导全错
拖拽 .vsix 没反应?先过这三关
VS Code 在离线场景下对拖放极其敏感,不满足条件就静默忽略,连日志都不写。
- VS Code 必须已打开一个文件夹(哪怕空文件夹),纯启动页或远程 SSH 窗口不接受拖放
- 窗口要有系统焦点:任务栏图标需高亮,且不能处于全屏、RDP 或 TeamViewer 远程桌面中(它们常拦截拖放事件)
- 拖的是原始
.vsix文件,不是浏览器自动加后缀的volar.vsix.zip,也不是解压后的文件夹;可用unzip -l volar.vsix验证顶层是否含extension/package.json
装上了但 .vue 文件还是 Plain Text?缺 LSP 服务器
Volar 和 Vetur 都是“两阶段插件”:安装只是注册入口,首次打开 .vue 文件时才尝试拉取语言服务器二进制(如 volar-server 或 vetur-server)。离线环境里它不会报错,只会卡在状态栏 “Downloading…” 或 Output 面板静默打印 spawn ENOENT。
从零开始编排 SpringBoot+Vue 全栈项目工作流,适用于新建全栈项目或完整脚手架请求,触发后依次调用 product‑spec‑builder(需求调研)等模块。
立即学习“前端免费学习笔记(深入)”;
- 正确做法:在有网 + 同版本 + 同架构机器上,打开任意
.vue文件 → 等状态栏显示Vue (Volar)或Vue (Vetur)→ 关闭 VS Code - 然后完整复制整个扩展目录:
~/.vscode/extensions/johnsoncodehk.volar-1.12.0/(macOS/Linux)或%USERPROFILE%\AppData\Roaming\Code\Extensions\johnsoncodehk.volar-1.12.0\(Windows) - 粘贴到内网机对应路径,**彻底退出 VS Code(包括托盘进程)再重开** —— 缓存不刷新,LSP 就起不来
- 验证:打开 Output 面板 → 切换到
Vue Server通道 → 应看到Starting server和Server started
装完仍无高亮?检查三个隐藏开关
即使插件目录完整、LSP 启动成功,还有三个配置点常被忽略:
- 右下角状态栏必须显示
Vue,不是HTML或Plain Text;点它 →Configure File Association for '.vue'→ 设为vue - 确保
settings.json中没有冲突项,比如"files.associations": {"*.vue": "html"}会直接覆盖 - Vue 2 项目若用了
@/别名,需在项目根目录.vscode/settings.json中手动声明路径映射,否则<script></script>内 import 跳转和类型推导会断掉
最易被忽略的是:Volar 的 server/ 子目录必须和目标机器架构严丝合缝——ARM Mac 上装 x64 版本的 .vsix,解压出来的 volar-server-darwin-x64 就根本跑不起来,但 VS Code 不会告诉你为什么。

















