Sublime Text 需通过 SublimeTSC 插件桥接本地 tsserver 实现 TypeScript 支持;须先全局或项目级安装 TypeScript,确保 tsserver 可执行且 tsconfig.json 存在,再配置 tsserver_path 路径并重启服务。

Sublime Text 本身不原生支持 TypeScript,必须通过插件补全语法高亮、智能提示和编译能力。核心依赖两个插件:TSCompleteMe(补全)和 SublimeTSC(服务桥接),但直接装 TSCompleteMe 很容易失败——它依赖本地全局安装的 tsserver,且对 Node.js 版本和 TypeScript 版本敏感。
确认本地已安装 TypeScript 和 Node.js
Sublime 的 TS 插件不是独立运行的,它会调用你系统里已有的 tsserver(TypeScript 自带的语言服务)。所以第一步不是打开 Sublime,而是确保终端能跑通:
- 运行
node -v,建议 ≥ v14.18(v16+ 更稳);v18/v20 是当前推荐 - 运行
npm install -g typescript(或yarn global add typescript) - 运行
tsc --version和tsserver --version,两者输出版本号一致才说明tsserver可用 - 如果
tsserver命令报错“command not found”,说明全局 bin 路径没进环境变量(macOS/Linux 检查$PATH,Windows 检查系统环境变量里的 Node.js 安装路径下的node_modules/.bin)
用 Package Control 安装 SublimeTSC(不是 TSCompleteMe)
TSCompleteMe 已多年未维护,GitHub 上 star 少、issue 多、不兼容 Sublime Text 4;现在主流方案是 SublimeTSC,它轻量、主动维护、只做一件事:把 Sublime 的编辑操作转发给本地 tsserver。
- 按下
Ctrl+Shift+P(Win/Linux)或Cmd+Shift+P(macOS),输入Package Control: Install Package - 等待列表加载后,输入
SublimeTSC,点击安装 - 安装完成后,重启 Sublime(非必需但推荐)
- 打开一个
.ts文件,状态栏左下角应显示TS,右键菜单里有TypeScript子项
配置 tsserver 路径和项目级 tsconfig.json
SublimeTSC 默认会尝试调用全局 tsserver,但很多项目用的是局部 node_modules/typescript(比如用 yarn 或 pnpm 管理依赖),这时必须显式指定路径,否则补全失效或报错 Cannot read property 'forEach' of undefined。
- 打开
Preferences → Package Settings → SublimeTSC → Settings - 在右侧用户设置中添加:
{ "tsserver_path": "./node_modules/.bin/tsserver", "tsserver_options": ["--locale", "zh-CN"] } - 注意路径写法:
./node_modules/.bin/tsserver是相对当前打开文件夹(即项目根目录)的路径;如果是 Windows,可写成./node_modules/.bin/tsserver.cmd - 确保项目根目录下有
tsconfig.json,哪怕是最简版:{ "compilerOptions": { "target": "ES2020" } },否则tsserver启动后无法识别类型上下文
常见问题与绕过技巧
Sublime 的 TS 支持本质是“胶水层”,不如 VS Code 深度集成,遇到问题优先查服务是否真在跑、路径是否对、tsconfig.json 是否生效。
- 补全不触发?检查状态栏是否显示
TS;若显示Plain Text,右键 →Set Syntax → TypeScript - 右键
TypeScript: Go to Definition报错?多半是tsserver没响应,打开 Sublime 控制台(Ctrl+`)看错误日志,重点找ECONNREFUSED或ENOENT - 想手动重启 tsserver?右键 →
TypeScript: Restart Server,比关掉重开 Sublime 快得多 - 不需要自动编译?SublimeTSC 默认不编译,它只提供语言服务;如需构建,仍得靠终端跑
tsc或配置 Build System(另配,不在本插件职责内)
真正卡住的地方往往不是插件装没装上,而是 tsserver 进程根本没起来,或者它读不到正确的 tsconfig.json。建议先在终端进项目目录,手动执行一次 tsserver,看有没有报错,再回头配 Sublime。










