装lsp插件只是第一步,真正决定补全效果的是语言服务器是否装对、路径是否可执行、语法范围是否匹配——三者缺一不可;必须先确认package control已安装,再安装lsp插件及对应语言服务器(如python-lsp-server或pyright),最后在用户设置中严格匹配command、scopes和syntaxes,并通过lsp: toggle log panel查日志排错。

装 LSP 插件只是第一步,真正决定补全效果的是语言服务器是否装对、路径是否可执行、语法范围是否匹配——三者缺一不可。
必须先确认 Package Control 已就位
Sublime 默认不带包管理器,Package Control: Install Package 命令调不出来,后续所有操作都白搭。按 Ctrl+Shift+P(Win/Linux)或 Cmd+Shift+P(Mac)输入该命令,能出现即说明已安装;若提示 “command not found”,就得手动装:
- 打开
View → Show Console - 粘贴官方安装脚本(含哈希校验),回车执行
- 重启 Sublime
别跳过这步——很多“装了 LSP 没反应”的问题,根子就在这儿。
只装 LSP 插件 ≠ 有补全能力
LSP 插件本身只是通信层,不提供任何语义分析。你看到的函数签名、参数提示、跳转定义,全靠外部语言服务器进程支撑。常见组合:
- Python 推荐
python-lsp-server[all](pip 安装)或pyright(npm 安装) - TypeScript/JS 必须用
typescript-language-server,不是tsserver - Go 用
gopls,Rust 用rust-analyzer
装完后务必验证可执行性:which pylsp(macOS/Linux)或 where pyright-langserver(Windows),失败就说明没进 PATH,配置里得写绝对路径。
配置里最容易错的三个字段
在 Preferences → Package Settings → LSP → Settings 右侧用户设置中填 "clients" 对象,以下三项必须严丝合缝:
-
"command":数组形式,如["pylsp"]或["/Users/you/.local/bin/pyright-langserver", "--stdio"];Windows 注意双反斜杠或正斜杠,单反斜杠会解析失败 -
"scopes":必须和当前文件实际 scope 一致,打开.py文件后按Ctrl+Alt+Shift+P看状态栏,显示source.python才对;若显示source.python.django或其他变体,就得把 scope 写全 -
"syntaxes":Sublime 4+ 默认用Packages/Python/Python.sublime-syntax,不是旧版的.tmLanguage;如果用了 Anaconda 等第三方插件,可能覆盖原生语法,建议临时禁用再试
启用后没反应?先看日志,别重启
功能静默时,最直接线索在 LSP 日志里:Preferences → Package Settings → LSP → Toggle Log Panel。它会清楚告诉你:
- 服务器进程是否成功启动(
spawned还是ENOENT) - stderr 报什么错(比如找不到
node、权限拒绝、模块缺失) - 有没有收到初始化请求(
initializerequest)
日志里没报错但没补全?大概率是 scope 或 syntax 不匹配,或者文件没被识别为对应语言——这时候右下角显示的不是 Python 而是 Plain Text,再怎么配都白费。











