lsp-typescript 插件失效主因是未正确连接本地 tsserver:需确认 tsserver 路径准确(windows 用 .cmd 后缀,macos/linux 避免路径截断),配置必须修改 lsp-typescript 专属设置、使用绝对路径数组并启用,且文件 syntax 必须为 typescript。

装了 LSP-typescript 插件但没智能提示、跳转失效、右下角不显示 LSP-typescript active?不是插件没装好,是它根本没连上 tsserver——这才是 90% 用户卡住的地方。
确认 tsserver 是否真实可用且路径准确
Sublime 的 LSP-typescript 不自带语言服务,全靠本地 tsserver。光 npx tsc --version 能跑,不代表 LSP 能调用它。
- Windows 用户必须用
.cmd后缀:where tsserver返回的是C:UsersXXXAppDataRoaming pm sserver.cmd,配置里写tsserver就会报spawn tsserver ENOENT - macOS/Linux 执行
which tsserver,路径含空格或符号(如/opt/homebrew/bin/tsserver)要确保没被截断 - 项目级优先:进项目根目录运行
ls node_modules/.bin/tsserver*(macOS/Linux)或dir node_modules.bin sserver*(Windows),优先用./node_modules/.bin/tsserver路径,避免 TS 版本错配 - 全局安装过但找不到?检查
npm config get prefix输出的路径是否在系统PATH中,否则 Sublime 启动时继承不到
编辑 LSP-typescript 设置而非全局 LSP 配置
别改 LSP.sublime-settings,那是通用配置,对 TypeScript 无效。必须改专属设置文件:
- 菜单 → Preferences → Package Settings → LSP → Servers → LSP-typescript
-
"command"必须是绝对路径数组,例如:["/usr/local/bin/tsserver"]或["C:\Users\XXX\AppData\Roaming\npm\tsserver.cmd"] - 加
"enabled": true,否则默认禁用 - 删掉
"initializationOptions"字段——新版tsserver已废弃该字段,留着会导致连接中断 - 可选但实用:
"settings"块里加"typescript.preferences.includePackageJsonAutoImports": "auto",让自动导入行为和 VS Code 一致
验证是否生效及典型失败信号
重启 Sublime,打开一个 .ts 文件(确保右下角语法显示为 TypeScript,不是 Plain Text 或 JavaScript):
- 右下角状态栏出现
LSP-typescript active→ 成功 - 卡在
LSP-typescript initializing…超过 5 秒 → 路径错误、权限不足或tsserver启动崩溃 - 控制台(
Ctrl+`)里搜LSP,看到Failed to start server: exit code 1→ 大概率command数组执行失败,手动在终端运行试试 - 有语法高亮但无跳转、无悬停类型 →
tsserver进程起来了,但没读到tsconfig.json,检查项目根目录是否存在且格式合法
最容易被忽略的是:Sublime 不看文件后缀,只认当前文件的 syntax 和 scope。哪怕你双击打开 index.ts,如果右下角显示的是 JavaScript,LSP-typescript 根本不会启动——先点它手动切到 TypeScript,再确认 Ctrl+Alt+Shift+P 输出里有 source.ts。











