sublime代码提示需装lsp插件及对应语言服务器,否则仅显示文件内单词;ctrl+space无反应主因是右下角语法为plain text、"auto_complete": true未启用、lsp服务器未全局启用;tab不确认补全需设"auto_complete_commit_on_tab": true,并用"auto_complete_triggers"配置触发字符。

Sublime 的代码提示不是“开个开关”就能用,必须装 LSP 插件 + 对应语言服务器,否则你看到的只是当前文件里打过的单词——os.listdir不会出现,requests.get也不会提示参数。
为什么 Ctrl+Space 没反应?先看这三件事
补全弹窗不出现,90% 是卡在这几个基础环节:
- 右下角语法标识是不是
Plain Text?必须是Python、JavaScript等具体语言,LSP 才会加载;查真实 scope 可用Ctrl+Shift+P→Developer: Show Scope Name -
"auto_complete": true没开——它控制弹窗是否出现,不是“智能程度”,而是“有无”;这个必须加在Preferences → Settings (用户侧)里 - LSP 插件装了但没启用语言服务器:执行
Ctrl+Shift+P→LSP: Enable Language Server Globally,选pylsp或typescript-language-server,状态栏左下角要显示LSP-pylsp active
Tab 键不确认补全项?缺这行设置
默认情况下按 Tab 只是插入制表符。要让它确认补全项,必须显式启用该开关:
- 在用户设置中加:
"auto_complete_commit_on_tab": true - 同时建议搭配:
"auto_complete_with_fields": true(支持${1:x}类占位符跳转)、"auto_complete_delay": 20(响应更快) - 如果仍无效,临时禁用
AutoFileName或All Autocomplete——它们会劫持Tab行为
Python 补全没提示方法列表?别碰 SublimeCodeIntel
SublimeCodeIntel 已停止维护多年,对 Python 3.11+、Self 类型、PEP 695 类型语法完全无响应,还会导致 Sublime 卡死在保存瞬间。
- 装
LSP插件后,再装LSP-pyright(推荐)或LSP-pylsp(兼容性稍广) - 确认
LSP.sublime-settings中对应客户端的"enabled": true,且"command"能找到可执行文件(如pyright在$PATH中) - 补全不会秒出:等右下角状态栏出现
LSP-pyright active(通常 2–5 秒),再试os.或pathlib.Path().
输入 . 后不自动弹出补全?靠 auto_complete_triggers 驱动
原生补全默认不监听点号或冒号,必须手动告诉 Sublime:“在 Python 里输 .,就该扫一遍了”。
- 在用户设置中添加:
"auto_complete_triggers": [{"selector":"source.python","characters":"."}] - 作用域必须准确:
source.python不是text.python,也不是source.python3;查 scope 用Ctrl+Shift+P→Developer: Show Scope Name - CSS 用户同理加:
{"selector":"source.css","characters":":"};Vue 单文件中<script></script>块作用域是source.js.embedded.html,得单独配
最常被忽略的是作用域匹配和 command 路径——写错一个字符,LSP 就静默失效,控制台也不报错。验证前先在终端跑 pylsp --version 或 pyright --version,有输出才算真正就绪。











