根源在于tsserver未正确连接或未加载tsconfig.json配置;需指定项目内tsserver.js路径、确保tsconfig.json位于根目录并含baseurl/paths、关闭index_files及排除node_modules以释放资源。

为什么 import 语句补全卡顿、跳转失效
不是 TypeScript 版本新,也不是你电脑慢——90% 的模块导入延迟问题,根源在 tsserver 没连上或连上了但没加载项目配置。Sublime Text 自身不解析 tsconfig.json,tsserver 启动时若找不到有效配置,就会退化为“单文件模式”,路径映射(paths)、模块解析策略(moduleResolution)、甚至 node_modules 中的类型声明都失效,导致 import 补全慢、Ctrl+Click 跳不到定义、路径提示为空。
tsserver_path 必须指向项目内 lib/tsserver.js
全局安装的 TypeScript(比如 npm install -g typescript)和项目本地版本经常不一致,tsserver 一启动就因版本 mismatch 静默降级。插件默认尝试调用全局 tsserver,结果就是有高亮、无智能导入。
- 打开
Preferences → Package Settings → TypeScript → Settings - 填入绝对路径或相对路径:
"tsserver_path": "./node_modules/typescript/lib/tsserver.js" - 确保该路径真实存在:运行
ls node_modules/typescript/lib/tsserver.js(macOS/Linux)或dir node_modules\typescript\lib\tsserver.js(Windows)验证 - 不要写成
tsserver、tsserver.cmd或typescript/bin/tsserver—— 必须是.js文件
tsconfig.json 必须在项目根目录且含 baseUrl + paths
没有 tsconfig.json,tsserver 就不会启用模块解析逻辑;有但放错位置(比如在 src/ 下),Sublime 打开的是父文件夹,tsserver 就读不到它。
- 确认
tsconfig.json在你用 Sublime 通过subl .打开的文件夹根目录下 - 至少包含
compilerOptions.baseUrl和compilerOptions.paths(如使用别名导入) - 示例关键片段:
{ "compilerOptions": { "baseUrl": ".", "paths": { "@/*": ["src/*"] } } } - 删掉
outDir或declaration等无关字段——它们不影响导入,但可能拖慢tsserver初始化
禁用 index_files + 排除 node_modules 才真提速
很多人以为装了 LSP 插件就万事大吉,其实 Sublime 自身的文件索引(index_files)仍在后台扫描整个项目,遇到 node_modules 直接吃光内存,tsserver 的响应被严重挤压,import 补全要等 3–5 秒才弹出来。
- 关闭索引:
"index_files": false加到Preferences → Settings用户设置中 - 精准排除:
Project → Edit Project,在folders下加"folder_exclude_patterns": ["node_modules", "dist", ".git"] - 别在用户设置里写
folder_exclude_patterns—— 它只隐藏侧边栏,不阻止索引 - 重启 Sublime,再打开 .ts 文件,观察 import 补全是否从“等半天”变成“敲完 @ 就出列表”
真正卡住 import 响应的,往往不是 TypeScript 本身,而是 Sublime 在后台跟十万个小文件死磕。把索引关掉、把 node_modules 排干净,tsserver 才能专注做它该做的事。











