必须先安装Package Control才能安装LSP插件;再装LSP客户端及对应语言服务器(如LSP-pyright);最后在用户设置中启用目标语言并配置command路径,开启log_debug便于排查问题。

直接装 LSP 插件不行,得先装 Package Control
Sublime Text 默认不带包管理器,LSP 插件必须通过 Package Control 安装。没装它,后续所有操作都卡住。
验证是否已安装:按 Ctrl+Shift+P(Windows/Linux)或 Cmd+Shift+P(macOS),输入 Package Control: Install Package 能出现即表示已就位;若提示“command not found”,说明还没装。
安装方式(仅一次):
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)) if dh != h else open(os.path.join(ipp, pf), 'wb').write(by)
粘贴进 Sublime 的 Console(View → Show Console),回车执行。成功后重启 Sublime。
LSP 插件本身要装两个:LSP 和对应语言服务器
LSP 是通用客户端,只负责通信和 UI;真正提供补全、跳转能力的是语言服务器(Language Server),比如 pylsp(Python)、typescript-language-server(TS/JS)、rust-analyzer(Rust)。缺一不可。
安装步骤:
- 按
Ctrl+Shift+P,输入Package Control: Install Package,回车 - 搜索并安装
LSP(作者是 sublimelsp) - 再搜
LSP-yourlang,例如LSP-pyright(推荐 Python)、LSP-typescript(TS/JS)——这些是封装好的集成包,自带下载和配置逻辑
不建议手动装裸语言服务器(如用 npm 全局装 typescript-language-server),因为 LSP 插件默认不自动识别全局路径,容易导致“能连上但无响应”。
关键配置项:server_settings 和 enabled_languages
装完插件后,LSP 默认不会对所有文件生效。必须显式启用目标语言,并可能需要调参数才能让跳转/补全稳定工作。
打开配置:Preferences → Package Settings → LSP → Settings,在右侧用户设置里写:
{
"enabled_languages": {
"python": {
"command": ["pyright", "--stdio"],
"enabled": true,
"initializationOptions": {
"typeshedPath": "/path/to/typeshed"
}
}
},
"log_debug": true
}
注意点:
-
"enabled": true必须设,否则即使文件是.py也不触发 LSP -
"command"要匹配你实际安装的服务器可执行名(pyright、typescript-language-server等),路径不对会报Server crashed -
"log_debug": true打开后可在Tools → LSP → Toggle Log Panel查错误,比盲猜快得多
补全失效或跳转失败?先看状态栏和日志
常见现象:光标停在函数名上按 F12 没反应,或者输入几个字母没补全弹出。不是插件坏了,大概率是服务器没起来或没响应。
排查顺序:
- 右下角状态栏是否显示
LSP: ready?如果显示LSP: initializing…或LSP: crashed,说明启动失败 - 打开日志面板(
Tools → LSP → Toggle Log Panel),重点找stderr、Connection closed、command not found - 确认当前文件语法类型正确:右下角应显示
Python,而不是Plain Text(可通过View → Syntax → Open all with current extension as…统一设置) - 检查语言服务器是否真的在运行:终端执行
ps aux | grep pyright(或对应命令),无输出说明根本没拉起进程
最常被忽略的一点:某些语言服务器(如 pyright)依赖项目根目录存在 pyproject.toml 或 setup.py 才加载类型信息;空文件夹里打开单个 .py 文件,补全会弱很多。










