必须先安装package control,否则lsp插件及语言服务器均无法安装;接着通过package control安装lsp插件(作者sublimelsp)和对应语言服务器(如lsp-pyright),再手动执行“lsp: enable language server globally”启用服务,并严格配置command、scopes、syntaxes三项参数,最后验证右下角状态与lsp日志确认生效。

Sublime没装Package Control就别碰LSP
所有后续操作都依赖它,没它连插件都装不上。按 Ctrl+Shift+P(Windows/Linux)或 Cmd+Shift+P(macOS),输入 Package Control: Install Package 能弹出菜单才算成功;如果提示 “command not found”,说明还没装。
手动安装只需一次:打开 View → Show Console,粘贴这段代码回车:
import urllib.request,os,hashlib; h ='6f4c264a24d933ce70df5dedc1ef834e'+'93b4419234e2c14c786c95a396a27d5f'; pf ='Package Control.sublime-package'; ipp = sublime.installed_packages_path(); urllib.request.install_opener(urllib.request.build_opener(urllib.request.ProxyHandler())); by = urllib.request.urlopen('http://packagecontrol.io/'+ pf.replace(' ','%20')).read(); dh = hashlib.sha256(by).hexdigest();print('Error validating download (got %s instead of %s), please try manual install'% (dh, h))ifdh != helseopen(os.path.join(ipp, pf),'wb').write(by)
执行完重启 Sublime 即可。别跳过这步——后面装的 LSP、pyright 全部会静默失败。
LSP插件和语言服务器必须分两步装
LSP 插件只是通信层,不干活;真正解析语法、推导类型、提供补全的是语言服务器(比如 pyright、typescript-language-server)。只装插件不装服务器,等于买了路由器但没接网线。
- 用
Ctrl+Shift+P→Package Control: Install Package装LSP(作者sublimelsp) - 再搜
LSP-pyright(Python 推荐)或LSP-typescript(JS/TS),它们自带下载逻辑和默认路径,比裸装npm install -g typescript-language-server更稳 - 装完后必须手动执行
LSP: Enable Language Server Globally,勾选对应服务器——这步不做,右下角永远显示Plain Text
注意:LSP-pyright 和旧插件 Anaconda 不能共存,会抢补全通道,导致 CPU 飙升、签名不显示,冲突时直接禁用 Anaconda。
为什么 os. 没提示?检查这三处硬性条件
补全静默失效,90% 是卡在这几个刚性门槛上,不是设置写得不够多。
- 终端运行
pyright --version或pylsp --version,无输出=服务器根本没装好,重装并确认是否带[all](如pip install python-lsp-server[all]) - 文件语法识别必须是
Python或JavaScript,不是Plain Text——右下角看一眼,不对就点开 →Set Syntax → Python - Python 项目缺
pyproject.toml或setup.py,pylsp可能无法解析本地模块;JS/TS 项目根目录必须有jsconfig.json或tsconfig.json,否则退化为纯文本匹配
另外,os. 后不会自动弹窗,得手动按 Ctrl+Space;想输 . 就弹,得在用户设置里加:"auto_complete_triggers": [{"selector":"source.python","characters":"."}]。
LSP.sublime-settings 里最容易写错的三个字段
配置文件里写错一个字符,服务器就起不来,而且控制台常不报错,只默默不工作。
-
"command"必须是完整可执行路径,比如["/opt/homebrew/bin/pyright"],不能只写["pyright"]——除非你确定该命令在系统PATH里且 Sublime 能继承到(macOS GUI 启动的 Sublime 常读不到 shell 的 PATH) -
"scopes"和"syntaxes"必须严格匹配:Python 是["source.python"]和["Packages/Python/Python.sublime-syntax"],写成python或Python都不行 - Python 用户若用
pylsp,还得显式指定解释器路径:"settings": {"python.executable": "/usr/bin/python3"},否则可能调用错 Python 版本,导致import不识别
改完配置保存,打开一个 .py 文件,看右下角是否变成 Python (LSP),再打开控制台(Ctrl+`)盯几秒,有没有 LSP: pylsp started 这类日志——没日志,大概率是 command 或 scopes 错了。











