sublime原生仅支持当前文件单词前缀匹配,不支持函数签名、参数占位符或跨文件跳转;要实现类似vs code的智能补全,必须通过lsp插件桥接本地语言服务器,并正确配置command路径、languageid、scopes、syntaxes及auto_complete_triggers等关键项,否则lsp静默失效。

Sublime 原生不支持函数签名、参数占位符、跨文件跳转这类补全,只做当前文件单词前缀匹配;想获得接近 VS Code 的体验,必须用 LSP 插件桥接本地语言服务器——这是当前唯一稳定可行的路径。
为什么按 . 或 ( 后没提示?
这不是插件没装好,而是 Sublime 默认不监听语义字符触发补全。原生 auto_complete 只在输入字母、数字或下划线后扫描词库,不会响应 .、(、: 等符号。
- 必须在
Preferences → Settings (用户)中显式配置触发器:"auto_complete_triggers": [{"selector": "source", "characters": ".([{"'"}] - 确保右下角语法显示为
Python或JavaScript,不是Plain Text——否则LSP和所有语言插件静默不加载 -
Tab键默认不提交补全项,需加"auto_complete_commit_on_tab": true,否则只会插入制表符
安装 LSP 和对应语言服务器的关键步骤
别再试 Anaconda 或 SublimeCodeIntel:前者已停止维护,对 Python 3.11+ 和 TS 5.x 兼容极差;后者在新版本 Sublime 上常卡死。当前唯一可靠组合是 LSP(客户端) + 官方语言服务器。
- 用
Package Control: Install Package安装LSP(作者sublimelsp) - 终端执行对应命令安装服务器:
pip install python-lsp-server[all](Python)、npm install -g typescript-language-server(TS/JS) - Windows 用户务必把
PythonScripts目录加进系统PATH,否则pylsp找不到 - 打开
.py文件后,状态栏左下角出现LSP-pylsp active才算连通成功
LSP.sublime-settings 配置里最容易出错的字段
错一个字段,LSP 就静默失效,控制台也不报错。常见错误集中在路径、作用域和语法三处。
-
"command"必须是可执行命令名或绝对路径,例如 Windows 上写成["C:\Python311\Scripts\pylsp.exe"],不能只写["pylsp"](除非确认全局可用) -
"languageId"和"scopes"必须匹配实际文件:Python 文件默认 scope 是"source.python",不是"text.python" -
"syntaxes"要指向 Sublime 自带语法定义路径:"Packages/Python/Python.sublime-syntax",拼错(比如少个s或大小写不对)就无法激活 - JavaScript 项目必须有
jsconfig.json或tsconfig.json,否则typescript-language-server退化为纯文本补全
补全弹窗出来了,但内容不准确或延迟高
这通常不是插件问题,而是语言服务器本身未就绪,或 Sublime 在不该工作的时候强行工作。
- 先验证服务器是否装好:终端运行
pylsp --version或typescript-language-server --version,有输出才算成功 - 大项目中禁用实时索引:
"index_files": false加进插件配置,改用手动触发Ctrl+Alt+R(部分插件支持) - 避免多个补全插件共存:如
All Autocomplete和LSP同时启用,会互相干扰,建议只留LSP+ 对应服务器 - CSS/HTML 补全依赖
scope精确匹配,光标放在<style></style>区域,按Ctrl+Shift+P → Developer: Show Scope Name看是否含source.css,否则补全不会启动
最常被忽略的一点:补全质量取决于你配的语言服务器,而不是 LSP 插件本身。服务器没装对、路径没写准、语法没识别上,任何设置都白搭——得从终端命令、状态栏提示、作用域名称三层交叉验证,缺一不可。











