Sublime Text 需手动配置 LSP-typescript 并指定正确 tsserver 路径才能启用 TypeScript LSP 功能;关键步骤包括确认 tsserver 存在且路径准确(Windows 必须含 .cmd 后缀)、在 LSP-typescript 设置中用绝对路径配置 "command"、确保文件语法为 TypeScript 且项目含 tsconfig.json。
Sublime Text 默认不支持 TypeScript 的智能提示、跳转、重命名等 LSP 功能,必须手动配置
插件并正确指向 TypeScript Server(tsserver)。关键不是装插件,而是让 LSP 找到可用的
—— 多数人失败都卡在这一步。
确认 tsserver 是否可用且路径正确
Sublime 的
不自带 TypeScript 语言服务,它依赖本地已安装的
。如果你用
安装过,运行
能看到版本,但
插件未必能自动找到它。
在终端执行
(macOS/Linux)或
(Windows),记下完整路径,例如
或
如果没装全局,推荐在项目根目录
下找:运行
确保项目有
依赖,再查
(macOS/Linux)或
(Windows)
Windows 用户注意:
配置中必须写
后缀,直接写
会启动失败,错误日志里会出现
配置 LSP-typescript 的 client settings
打开 Sublime →
Preferences → Package Settings → LSP → Servers → LSP-typescript
,编辑该文件。不要改
全局配置,那是错的。
仿Sublime和notepad++编辑器效果
仿Sublime和notepad++编辑器效果
下载
必须设置
为绝对路径,例如:
(macOS/Linux)或
(Windows)
加
,否则插件默认禁用
可选但推荐加
块来同步 TS 配置:
,这会读取项目
和用户偏好
避免写
—— 新版
已不支持该字段,写了反而导致连接中断
验证是否生效及常见失败信号
重启 Sublime,打开一个
文件,观察右下角状态栏:出现
表示连接成功;若显示
卡住超过 5 秒,基本是路径或权限问题。
打开
Tools → LSP → Toggle Log Panel
,看错误关键词:
= 路径错或无执行权限;
=
版本太老(低于 4.0)
即使连接成功,也可能没提示:检查文件是否被识别为
语法(右下角应显示
,不是
);按
输入
手动切换
跳转失效?确认项目根目录有
,否则
只以单文件模式运行,无法解析跨文件引用
最常被忽略的是 Windows 上的
后缀和 macOS/Linux 上的执行权限 —— 比如用
安装后,
文件可能没有
权限,需要手动
。路径对了,权限和后缀不对,照样白配。
LSP-typescripttsserverLSP-typescripttsservernpm install -g typescriptnpx tsc --versionLSPwhich tsserverwhere tsserver/usr/local/bin/tsserverC:UsersXXXAppDataRoaming
pm sserver.cmdnode_modules/.bin/npx tsc --noEmittypescriptls node_modules/.bin/tsserver*dir node_modules.bin sserver*LSP.cmdtsserver"spawn tsserver ENOENT"LSP.sublime-settings"command""command": ["/usr/local/bin/tsserver"]"command": ["C:\Users\XXX\AppData\Roaming\npm\tsserver.cmd"]"enabled": true"settings""settings": {
"typescript.preferences.includePackageJsonAutoImports": "auto"
}tsconfig.json"initializationOptions"tsserver.tsLSP-typescript activeLSP-typescript initializing…"failed to start server""TypeError: Cannot read property 'map' of undefined"tsserverTypeScriptTypeScriptPlain TextCtrl+Shift+PSet Syntax: TypeScripttsconfig.jsontsserver.cmdnpm install -gtsserver+xchmod +x /path/to/tsserver