sublime text 的 typescript 功能完全依赖本地 tsserver/tsc,必须正确安装并配置路径;首选 sublimetsc 插件,手动设置 tsserver_path 指向项目或全局 tsserver,否则仅剩语法高亮。

Sublime Text 本身不支持 TypeScript,所有功能(补全、跳转、错误提示、编译)都依赖外部 tsserver 或 tsc,且必须由你本地安装并可执行——没装 tsc,插件就只剩语法高亮。
确认 tsc 和 tsserver 已可用
这是最常被跳过的一步,也是后续所有功能失效的根源。Sublime 的 TS 插件不是独立运行的,它只是个“管道”,真正干活的是你系统里的 TypeScript 工具链。
- 终端运行
tsc --version,有输出(如Version 5.4.5)才算通过 - 运行
tsserver --version,必须和tsc版本一致;若报command not found,说明node_modules/.bin没进$PATH(macOS/Linux 查echo $PATH,Windows 查系统环境变量中 Node.js 安装路径下的node_modules/.bin) - Node.js 建议用 v18 或 v20,v14 已过时,v16 虽可用但部分插件兼容性差
- 全局安装:用
npm install -g typescript;项目级安装(如用 pnpm)则需后续显式指定路径
选对插件:优先用 SublimeTSC,别碰 TSCompleteMe
TSCompleteMe 已多年未更新,不兼容 Sublime Text 4,大量 issue 报告“补全失效”“崩溃”;SublimeTSC 是当前唯一轻量、活跃维护、只专注桥接 tsserver 的方案。
- Cmd+Shift+P(macOS)或 Ctrl+Shift+P(Win/Linux)→ 输入
Package Control: Install Package→ 搜索并安装SublimeTSC - 安装后打开任意
.ts文件,状态栏左下角应显示TS,右键菜单出现TypeScript子项 - 不要装
TypeScript-Sublime-Plugin(ms-vscode 官方那个),它自带旧版内嵌tsserver,不读tsconfig.json,也不支持现代编译选项
手动配置 tsserver_path:90% 的“没提示”“无跳转”问题出在这
SublimeTSC 默认尝试调用全局 tsserver,但如果你用了 nvm/fnm/volta、或项目是 pnpm/yarn 管理、或 TypeScript 是本地安装,它大概率找不到——此时必须硬编码路径。
- 打开
Preferences → Package Settings → SublimeTSC → Settings - 在右侧用户设置中添加(注意路径写法):
{
"tsserver_path": "./node_modules/.bin/tsserver",
"tsserver_options": ["--locale", "zh-CN"]
}
- macOS/Linux 用上面写法;Windows 用户请改用
"./node_modules/.bin/tsserver.cmd" - 如果项目没装 TypeScript,先
pnpm add -D typescript或yarn add -D typescript - 路径是相对你当前打开的文件夹(即项目根目录)的,不是 Sublime 安装目录
构建系统:保存即编译用 LiveBuild,非必须但很实用
仅靠插件无法触发编译,要生成 JS 文件还得靠构建系统。手动按 Ctrl+B 太麻烦,推荐用 LiveBuild 实现保存自动编译。
- 用 Package Control 安装
LiveBuild - 菜单栏
Tools → LiveBuild Settings,在用户设置中加:
{
"builders": [
{
"selector": "source.ts",
"cmd": ["tsc", "$file"],
"working_dir": "$file_path"
}
]
}
- 这个配置只对当前文件生效;如需整个项目监听,直接终端运行
tsc -w更可靠 - 别依赖插件自带的“编译”按钮或构建系统变体(如
--watch),Sublime 的构建系统不支持后台长进程,会卡死
真正的难点不在安装多少插件,而在于让 Sublime 准确找到你本地那个特定版本的 tsserver——它可能藏在全局 npm 目录里,也可能在项目 node_modules 深处,还可能被 Node 版本管理器隔离。路径写错一个字符,所有语言功能就退化成纯高亮。











