右下角未显示lsp: pyright或lsp: typescript,说明语言服务器未启动;需确认package control已安装、lsp插件作者为sublimelsp、手动启用服务器、scope为source.python/source.ts、command填绝对路径、项目根存在pyrightconfig.json/tsconfig.json等配置文件。

装了LSP插件但右下角没显示 LSP: pyright 或 LSP: typescript,说明语言服务器根本没启动——不是配置写得不够多,是关键路径、作用域或前置文件缺一不可。
确认 Package Control 和 LSP 插件已真正就位
没它,后面所有操作都静默失败。按 Ctrl+Shift+P(Windows/Linux)或 Cmd+Shift+P(macOS),输入 Package Control: Install Package:
- 能弹出菜单 → Package Control 已安装成功
- 提示
command not found→ 必须先粘贴官网 Python 安装代码到控制台执行(View → Show Console),再重启 Sublime - 装完 LSP 后务必重启编辑器:部分系统不重启不会加载新插件逻辑
- 在
Package Control: Install Package里搜LSP,认准作者是sublimelsp,别选错包
语言服务器必须手动启用,且作用域(scope)要严丝合缝
打开一个 .py 或 .ts 文件后,状态栏若显示 Plain Text,后续所有 LSP 配置都会被忽略——Sublime 不看后缀,只认当前文件的 syntax 和 scope。
- 按
Ctrl+Alt+Shift+P(Win/Linux)或Cmd+Alt+Shift+P(macOS)查看当前 scope:必须是source.python、source.ts或source.svelte,不是text.plain - Scope 错误常见于第三方语法插件干扰,比如装了
Vue Syntax Highlight却没配对启用LSP-vue,会导致 .vue 文件被识别为text.html.vue而非source.vue - 启用服务器必须手动执行
LSP: Enable Language Server Globally,勾选对应语言(如python、svelte),仅靠配置"enabled": true不生效 - 改完配置或启用后,执行
LSP: Restart Servers(不是重启窗口),否则变更不加载
command 路径和 syntaxes 必须一一对应,且不能依赖 PATH
spawn ENOENT 或 Failed to start server: exit code 1 这类错误,90% 是因为 command 字段写的命令在 Sublime 环境里根本找不到。
- 不要写
["pyright"]或["tsserver"]:Sublime 的 PATH 和终端不同,尤其 Windows 上tsserver必须带.cmd后缀,写成["C:\Users\XXX\AppData\Roaming\npm\tsserver.cmd"] - 用终端查真实路径:
which pyright(macOS/Linux)或where tsserver(Windows),复制**绝对路径**填进command -
syntaxes字段必须匹配 Sublime 内部语法名,例如 Python 是Packages/Python/Python.sublime-syntax,不是旧版的Packages/Python/Python.tmLanguage - 对于 Svelte,
syntaxes必须包含Packages/Svelte/Svelte.sublime-syntax(需单独装Svelte插件),否则即使服务器跑着,也不处理 .svelte 文件
项目级配置文件是语义能力的开关,不是可选项
补全只有变量名、跳转进不去 $lib、$derived 标红、JSX 不识别——这些都不是 LSP 插件问题,是语言服务器压根没加载项目上下文。
- Python(pyright):项目根必须有
pyrightconfig.json或pyproject.toml(哪怕空文件),否则降级为“宽松模式”,类型推导失效 - TypeScript:必须有
tsconfig.json,且compilerOptions.types包含"svelte"(Svelte 场景)、baseUrl和paths正确声明别名 - Svelte:必须有
svelte.config.js(内容可为空对象),缺它svelte-language-server启动即退出 - C/C++:必须有
compile_commands.json在项目根目录,clangd 不靠后缀猜宏定义和 include 路径,没它连printf都补全不出来
最容易被跳过的其实是 scope 和项目配置文件——它们不报错,但让整个 LSP 失效得无声无息。验证时别只盯设置文件,先看右下角状态栏有没有 LSP: xxx,再按 Ctrl+Alt+Shift+P 确认 scope,最后检查项目根有没有那个“看起来没用”的配置文件。











