LSP在Sublime中需手动绑定语言服务器、语法范围和项目配置三者;缺一即无补全跳转,须先装Package Control和LSP插件,再配command路径、syntaxes及tsconfig.json等。

LSP 在 Sublime Text 里不会自动适配前端文件,必须手动绑定语言服务器、语法范围和项目配置三者,缺一不可;只装插件不配 command 和 syntaxes,.ts/.svelte/.jsx 文件照样没有补全和跳转。
确认 Package Control 和 LSP 插件已就位
没它,后面所有操作都静默失败。按 Ctrl+Shift+P(Win/Linux)或 Cmd+Shift+P(macOS)输入 Package Control: Install Package,能弹出列表才算成功。如果提示 “command not found”,就得手动安装:打开 View → Show Console,粘贴官方脚本回车,重启 Sublime。之后再装 LSP(作者 sublimelsp),别跳过这步——LSP-pyright、LSP-typescript 等依赖它下载内置二进制或校验路径。
JavaScript/TypeScript 必须用 typescript-language-server,且走项目级 TS
全局 tsserver 无法读取 tsconfig.json 的 paths 或 jsx 配置,补全会退化成任意类型。正确做法是:
- 确保项目根目录有
node_modules/typescript(npm install typescript --save-dev) - 在
Preferences → Package Settings → LSP-typescript → Settings中填入:{ "command": ["npx", "--no-install", "typescript-language-server", "--stdio"], "initializationOptions": { "typescriptVersion": "useWorkspaceTsdk" } } -
tsconfig.json必须放在项目根,且含"moduleResolution": "node"和"baseUrl": ".";若用@/components别名,paths必须配合生效 - 避免
"files": [],否则 tsserver 只处理显式列表里的文件,其他全丢
.svelte 文件要启用 svelte-language-server,但不能裸装
直接 npm 全局装 svelte-language-server 会导致冲突,必须通过 LSP-svelte 插件接入。关键动作有三个:
前端设计与 UI/UX 全方位优化专家。覆盖视觉层次、排版系统、色彩理论、响应式布局、交互体验、动画动效、无障碍访问、性能优化八大维度,帮助开发者将普通页面升级为高品质产品级界面。前端设计与 UI/UX 全方位优化专家。覆盖视觉层次、排版系统、色彩理论、响应式布局、交互体验、动画动效、无障碍访问、性能优化八大维度,帮助开发者将普通页面升级为高品质产品级界面。
立即学习“前端免费学习笔记(深入)”;
- 安装
LSP-svelte(不是svelte-language-server包本身) - 项目根必须存在
svelte.config.js,哪怕内容只是module.exports = {};;缺它,服务启动即退出 - 打开
.svelte文件后,执行Ctrl+Shift+P→LSP: Enable Language Server Globally,勾选svelte,再运行LSP: Restart Servers -
$lib路径不跳转?检查tsconfig.json的compilerOptions.types是否含"svelte",paths是否声明"$lib/*": ["src/lib/*"]
React / JSX 补全失效?根本原因常在语法识别层
Sublime 默认把 .tsx 当作 TypeScript,但 JSX 块需要额外嵌入解析支持。如果 <div></div> 不高亮、on:click 无提示,先看右下角是否显示 TypeScript —— 若显示 JavaScript 或 Plain Text,说明语法包未生效。此时:
- 打开一个
.ts文件,确认右下角显示TypeScript;若不显示,需重装或启用TypeScriptSyntax插件 - 对
.tsx文件,按Ctrl+Alt+Shift+P查 scope,应为source.tsx;若为source.js,需在 LSP 设置中把scopes改为["source.tsx", "source.js"] -
jsx编译选项必须设为"preserve"或"react-jsx",设成"react"会丢掉类型信息,导致签名提示为空
最容易被忽略的是:LSP 日志(Preferences → Package Settings → LSP → Toggle Log Panel)里第一行就写着 spawned 还是 ENOENT——前者说明服务器起来了,后者代表 command 路径根本找不到,这时候翻配置比重启 Sublime 有用十倍。

















