Sublime Text 本身不支持 Vue 的 TS 类型推导,必须安装 SublimeLSP + Volar 并正确配置:启用 vue_version: "3"、enable_ts_in_script: true,确保 TypeScriptSyntax 已安装且 .ts 文件能正常高亮,同时项目需含 tsconfig.json 并安装 @volar/vue-language-core。

Sublime Text 本身不支持 Vue 的 TS 类型推导
别指望 Sublime 自带类型提示——它没有语言服务器(LSP)能力,ref()、defineProps()、useRouter() 这些不会标红、不会跳转、hover 也看不到类型签名。这不是配置不到位,是架构限制:Sublime 只做语法高亮和文本编辑,不做语义分析。
必须装 SublimeLSP + Volar,不是 Vetur
Vetur 已停止维护,不识别 <script setup lang="ts"></script>,装了反而冲突;Volar 才是 Vue 官方推荐的 LSP 客户端,且只与 SublimeLSP 配合生效:
- 先通过 Package Control 安装
SublimeLSP(注意大小写,不是 “LSP” 或 “sublimelsp”) - 再安装
LSP-volar(不是 “LSP-Vue” 或 “VueLSP”) - 确认
Preferences → Package Settings → LSP-volar → Settings中"vue_version": "3"已启用 - 检查
LSP控制台(Ctrl+Shift+P→LSP: Toggle Log Panel)是否显示volar启动成功,有无connection refused或node not found
TS 子语言必须独立安装并正确嵌入
Vue Syntax Highlight 只负责切分区块,不渲染 TypeScript;它把 <script setup lang="ts"></script> 块交给 Sublime 的 TS 语法引擎处理。若仍灰色或无补全,说明子语言没接上:
Vue 3 组合式 API 与 最佳实践,涵盖代码组织、useXxx 模式、组合式函数设计、Store 集成、响应式优化及功能抽取。
- 确保已安装
TypeScriptSyntax或JavaScriptNext - ES6 Syntax(后者对 TS 支持有限,推荐前者) - 在
Vue Syntax Highlight的 User Settings 中设:"vue_version": "3"、"enable_ts_in_script": true、"enable_vue_blocks": true - 打开一个
.ts文件,右下角应显示TypeScript;若显示JavaScript,说明 TS 插件未生效 - 临时验证:把
.vue改成.ts,看ref<string>()</string>是否有类型提示 —— 有,说明问题在 Vue 层嵌入配置
常见失效场景和绕不过去的坑
即使插件全装对,以下情况仍会导致类型推导断连:
立即学习“前端免费学习笔记(深入)”;
-
node_modules/.volar不存在或版本过旧(Volar 依赖本地@volar/vue-language-core,需npm install -D @volar/vue-language-core) - 项目根目录缺
tsconfig.json,或其中"compilerOptions": {"types": ["vue"]}没配 - SublimeLSP 的
settings中未指定"node"路径(尤其 macOS M1/M2 或 Windows WSL 用户),导致 LSP 启动失败 - 多个 LSP 插件冲突(如同时启用了
LSP-eslint和LSP-volar,需确认它们监听不同文件类型)
最常被忽略的是:Volar 的类型服务实际运行在 Node.js 进程里,不是 Sublime 本身;一旦终端里 node --version 不可用,或 volta/nvm 环境未注入到 Sublime 进程,LSP 就静默失败,控制台也不报错。

















