sublime原生补全仅基于文件内已出现单词,不分析语法;需开启auto_complete_commit_on_tab、配置lsp语言服务器(如pylsp)并保存文件才能实现智能补全。

Sublime 的自动补全默认只认“已写过的词”,不是真智能
你敲 prin 没弹出 print(),不是插件没装对,而是 Sublime 原生补全机制本身就不分析语法——它只是扫描当前文件里出现过的所有单词,建个缓存列表。所以如果 print 没在当前文件里出现过,它根本不会提示。
-
auto_complete必须设为true,否则连这个基础词表都不会弹 -
auto_complete_delay建议调到30(单位毫秒),50在高刷屏上会明显卡顿一帧 -
auto_complete_selector推荐设为"source - comment",避免在注释里误触发 - 右下角语法标识必须正确(比如显示
Python而不是Plain Text),否则连 selector 都不匹配
Tab 键不确认补全?一定是 auto_complete_commit_on_tab 没开
很多人按 Tab 只是插入缩进,补全项原封不动留在那儿——这不是插件问题,是 Sublime 默认把 Tab 当作制表符而非确认键。只有显式开启这个开关,Tab 才会提交高亮中的补全项。
- 必须加到用户设置(
Preferences → Settings右侧)里:"auto_complete_commit_on_tab": true - 搭配
"auto_complete_with_fields": true,才能支持像os.path.<tab></tab>这种链式调用的字段补全 - 如果用了 LSP 插件但
Tab仍无效,先检查这条配置是否存在,90% 是它漏了
Python 补全不显示参数或类型提示?缺的是 pylsp 或 pyright,不是插件名
装了 SublimeLSP 却看不到函数签名、跳转定义、import 提示,大概率是因为没装语言服务器本身。LSP 插件只是“快递员”,真正干活的是你本地跑的 pylsp 或 pyright。
除了有一半电子商务的全部基本功能外,还增加了“模版自由更换”“程序在线自动更新升级”“分布式搜索”等特色功能 主要功能: ·网站的基本信息设置,部分数据以XML方式同服务器发生交互。 ·可自行关闭和开启网站,方便维护,可自定维护时显示的代码。 ·可自定义站点的关键字和描述,方便搜索引擎找到您的网站。 ·可自定义商品图片、新闻图片的上传目录和预览图片的大小。 ·提供自己设置网站的邮件发送服务器SM
- 推荐用
pip install python-lsp-server[all](含 jedi + ruff + mccabe),比单独装 jedi 更稳 - 若用 conda 环境,确保
LSP.sublime-settings中clients.python.command指向该环境下的pylsp路径 -
LSP-pyright插件虽好,但它依赖 Node.js,且对pyproject.toml中的requires-python字段敏感,新手容易配错 - 补全弹窗里出现
loading...卡住?八成是语言服务器启动失败,看 Sublime 底部状态栏有没有报LSP: python failed to start
自己写的函数不被补全?别碰 .sublime-completions 文件
有人把项目里自定义函数全写进 Packages/User/myproject.sublime-completions,结果发现只补名字、不带括号和参数,也不能跳转——因为这种文件只做静态文本替换,完全绕过语法分析。
-
.sublime-completions适合补固定字符串,比如"trigger": "logd"→"contents": "print(${1:obj})" - 要让自定义函数出现在 LSP 补全列表里,得靠类型注解(
def foo(x: str) -> int:)或__all__导出 - 跨文件补全失效?检查是否在
LSP.sublime-settings中启用了"enabled": true和"settings": {"pylsp.plugins.jedi_completion.enabled": true}
最常被忽略的一点:LSP 补全依赖文件保存后触发索引。改完代码不保存,补全就永远“慢半拍”。









