必须先安装package control,否则lsp插件无法安装;lsp仅是客户端,需配对安装pyright等语言服务器,并严格配置command、scopes和syntaxes,重启后执行lsp: restart servers才生效。

Package Control没装,LSP插件根本装不上
按 Ctrl+Shift+P(Win/Linux)或 Cmd+Shift+P(macOS)输 Package Control: Install Package,能弹出菜单才算成功。如果提示 “command not found”,说明 Package Control 没装——后续所有操作都会静默失败。
必须手动装:打开 View → Show Console,粘贴官网安装脚本(含哈希校验),回车执行;完成后重启 Sublime Text。别跳过重启这步,否则 LSP 插件加载不进内存。
LSP插件和语言服务器是两回事
只装 LSP(作者 sublimelsp)插件,不会有任何补全、跳转或悬停提示。它只是通信管道,真正干活的是外部语言服务器进程,比如 pyright、typescript-language-server 或 svelte-language-server。
-
LSP-pyright这类包是“带配置模板的桥接插件”,不是服务器本身;svelte-language-server更不能通过 Package Control 安装,装错同名独立包会冲突 - 验证服务器是否可用:终端运行
pyright --version或svelte-language-server --version,有输出才说明已全局可执行 - Windows 用户若用
pip install pyright --user,得用where pyright找到绝对路径,填进 LSP 设置里的"command"
配置里三个字段必须严丝合缝
在 Preferences → Package Settings → LSP → Settings 右侧用户设置中,"clients" 下的三项一旦错配,服务器就启动失败且不报错:
-
"command":必须是数组,如["pyright", "--stdio"];Windows 路径用双反斜杠或正斜杠,单反斜杠会被解析为转义字符 -
"scopes":打开 .py 文件后按Ctrl+Alt+Shift+P看状态栏,显示source.python才对;若显示source.python.django,就得写全 -
"syntaxes":Sublime 4+ 默认用Packages/Python/Python.sublime-syntax,不是旧版.tmLanguage;Anaconda 等插件可能覆盖原生语法,建议临时禁用再试
服务器跑起来了,但功能还是残缺
右下角出现 LSP: pyright 或 LSP: svelte 只代表进程起来了,不代表语义功能完整。常见断点:
- Svelte 项目缺
svelte.config.js(哪怕只写module.exports = {};),svelte-language-server启动后立刻退出,无日志、无提示 - TypeScript 项目里
$derived或$$Props标红,大概率是tsconfig.json没配"compilerOptions.types": ["svelte"] - Python 中参数提示只有变量名、没类型和 docstring,说明
pyright没读到pyrightconfig.json或pyproject.toml,它默认降级为宽松模式
改完任何配置,必须手动执行 LSP: Restart Servers,仅重启窗口或重开文件无效。











