必须配对 tsserver.js 路径才能启用 typescript 补全、跳转和错误提示;sublime ts 插件仅作代理,依赖本地 tsserver 提供语义能力,常见问题包括 tsserver 未入 path、node 版本不匹配、插件选型错误及 tsconfig.json 未被正确识别。

能用,但必须配对 tsserver.js 路径,否则补全、跳转、错误提示全失效——不是插件没装好,是 Sublime 找不到真正干活的 TypeScript 服务。
为什么装完插件还是没补全?
Sublime 的 TS 插件(比如 SublimeTSC 或 LSP-typescript)本身不带编译器,只是个“传话筒”,所有语义能力都靠你本地的 tsserver 提供。常见卡点:
-
tsc --version能输出版本,但tsserver --version报command not found——说明node_modules/.bin没进系统$PATH - 用了
nvm/fnm/volta切换 Node 版本,全局安装的tsserver和当前 Shell 使用的 Node 不匹配 - 项目用
pnpm安装 TypeScript,tsserver在node_modules/.bin/tsserver,但插件默认只找全局路径 - 装了
TypeScript-Sublime-Plugin(微软老插件),它自带过时内嵌tsserver,不读tsconfig.json,也不支持现代配置项
该装哪个插件?
只推荐两个方案,别混用:
- 轻量可控选
SublimeTSC:功能聚焦,配置明确,适合已有tsconfig.json的项目;安装后状态栏左下角应显示TS - 想开箱即用选
LSP+LSP-typescript:基于 LSP 协议,自动探测项目级tsc,支持更多语言特性(如tsx、JSX 类型推导);但需确保node_modules/typescript存在或全局已装 - 绝对不要装
TSCompleteMe:多年未更新,大量崩溃报告;也别装TypeScript-Sublime-Plugin,它和现代 TS 工具链不兼容
怎么配对 tsserver_path?
这是补全生效的临门一脚,路径必须精确指向 tsserver.js 文件(不是可执行脚本 tsserver):
- 全局安装:
npm list -g typescript查路径,再拼出/usr/local/lib/node_modules/typescript/lib/tsserver.js(macOS/Linux)或C:/Users/xxx/AppData/Roaming/npm/node_modules/typescript/lib/tsserver.js(Windows,用正斜杠) - 项目本地安装:运行
npx which tsserver或npm bin得到node_modules/.bin/tsserver,把末尾的/tsserver替换为/../typescript/lib/tsserver.js - 配置位置:
Preferences → Package Settings → SublimeTSC → Settings,填入:{"tsserver_path":"/your/actual/path/to/tsserver.js"} - 验证方式:打开
.ts文件,右键菜单出现TypeScript子项,且光标悬停变量时有类型提示
路径别名(@/)补全怎么启用?
补全能识别 @/components/Button 这类写法,但前提是 TypeScript 自己能解析:
- 项目根目录必须有
tsconfig.json,且含合法baseUrl和paths配置,例如:{"compilerOptions": {"baseUrl": ".", "paths": {"@/*": ["src/*"]}}} -
SublimeTSC或LSP-typescript会读这个配置,但仅限于当前工作目录为项目根时才生效 - 如果打开的是子目录下的文件(比如直接双击
src/components/index.ts),Sublime 可能无法定位tsconfig.json,补全就失效;建议始终通过项目根目录打开整个文件夹 - 别指望
auto_complete_triggers加"@"就能触发——那是关键词匹配,不是路径解析;路径补全是tsserver基于tsconfig.json动态生成的
最常被忽略的点:路径配置正确、插件装对、tsserver.js 路径写准,三者缺一不可;哪怕版本差小数点(比如 tsc 是 5.4.5,tsserver 是 5.4.4),也可能导致补全挂掉。











