Sublime Text 需安装通用LSP插件(非LSP-pyright等专用包),重启后手动启用对应语言服务,并确保本地已安装并配置好对应语言服务器(如pyright、tsserver、gopls)。

Sublime Text 装不了 LSP?先确认你装的是 LSP 插件,不是 LSP-pyright 或别的语言专用包
很多人搜“Sublime 安装 LSP”却装了 LSP-pyright 或 SublimeLinter,结果发现没自动启动、没跳转、没补全——根本原因:LSP 协议支持必须由通用语言服务客户端提供,而 LSP 才是那个客户端。其他包只是它下游的“语言服务器实现”。
- 用
Package Control: Install Package,搜LSP(作者是sublimelsp),别选带语言名的变体 - 装完重启 Sublime(不重启,
Ctrl+Shift+P里搜不到LSP: Enable Language Server) - 装完后默认不启用任何语言服务,得手动开——这是最常被卡住的一步
启用 Python/TypeScript/Go 等语言服务时,LSP 要求本地已安装对应服务器二进制
LSP 本身不带任何语言能力,它只负责通信和 UI;真正的代码分析靠外部服务器进程。比如想用 Python 补全,光装 LSP 没用,你还得有 pyright 或 pylsp 可执行文件在系统 PATH 里,或者指定绝对路径。
- Python 推荐
pyright:npm install -g pyright(需 Node.js),或pipx install pyright - TypeScript 直接用
tsserver(随typescriptnpm 包自带,确保tsserver --version能运行) - Go 用
gopls:go install golang.org/x/tools/gopls@latest - 配置写在
Preferences > Package Settings > LSP > Settings里,格式是 JSON,键名是语言 ID(如python、typescript),不是文件扩展名
LSP 配置里 enabled 和 settings 写错位置,会导致服务静默失败
常见错误:把语言专属配置塞到顶层,或把 command 写成数组但少了一个参数。LSP 不报红,也不弹提示,就只是“没反应”。打开 View > Show Console,能看到类似 LSP: failed to start server "python" 的日志——这时候再回头查配置。
- 每个语言配置必须放在
clients对象下,例如:"python": { "enabled": true, "command": ["pyright", "--stdio"] } -
command是字符串数组,第一个是可执行文件名(支持绝对路径,如"/opt/pyright/pyright-langserver.py"),后面是参数 - 如果服务器需要初始化选项(如
pyright的include路径),要写在initializationOptions下,不是settings - 路径含空格必须用双反斜杠或正斜杠,Windows 上写
"C:/Users/Name/AppData/Roaming/npm/pyright.cmd"比C:\Users\...更稳
文件一打开就卡顿或 CPU 飙高?检查 file_extensions 和 scopes 是否误匹配
Sublime 按语法定义(scope)识别语言,而 LSP 默认按 scope 启动服务。如果你给 .txt 文件设了 source.python scope(比如用了某个 Markdown 插件),LSP 就会尝试对纯文本跑 pyright——结果就是卡死、崩溃、日志刷屏。
- 用
Ctrl+Alt+Shift+P看当前光标处的 scope,确认是否和你配的语言一致(如source.python对应python客户端) - 在
clients配置里加"enabled": false先关掉可疑语言,逐个排查 - 大型项目建议限制根目录:
"enabled": true, "command": [...], "selector": "source.python - meta.embedded",避免嵌入式代码触发 - 禁用不必要的语言客户端比调优性能更有效——关掉不用的
html、css服务,内存占用能降 30%+
Sublime 的 LSP 不是开箱即用的 IDE 替代品,它的稳定性和响应速度高度依赖你本地服务器的质量和配置粒度。最容易被忽略的,其实是 scope 与 language ID 的映射关系——改错一个字符,整个服务就掉线,而且没有任何提示。











