因为插件默认关闭跨文件索引,必须手动配置"all_autocomplete": true并确保文件语法正确识别(非plain text),且仅对已打开的可读文件做字符串匹配补全。

装完All Autocomplete为什么Ctrl+Space只补当前文件?
因为插件默认关闭跨文件索引,不是“装完就全局生效”。它只扫描当前文件,除非你显式告诉它去翻别的标签页。
必须在 Preferences → Package Settings → All Autocomplete → Settings – User 中写入正确配置。注意键名是 "all_autocomplete": true,不是 enable_global_autocomplete、enabled 或 all_autocomplete_enabled —— 写错一个字母都不会生效。
- 最小必要配置(JSON 格式,无注释,末尾不能有多余逗号):
{"all_autocomplete": true} - 保存后无需重启,但需确保当前文件右下角显示的是
Python、JavaScript等有效语法,而非Plain Text;否则插件直接跳过不运行 - 如果命令面板里搜
All Autocomplete没出现Enable All Autocomplete选项,说明根本没装成功,先回退检查 Package Control 流程
手动安装ZIP到Packages目录为啥完全没反应?
Sublime Text 4 不会加载手动解压的 All Autocomplete,这不是 bug,是设计如此。它依赖 Package Control 的 Python 运行时和插件生命周期管理,纯静态文件无法执行其核心逻辑。
- 必须走标准流程:按
Ctrl+Shift+P(Win/Linux)或Cmd+Shift+P(macOS)→ 输入Package Control: Install Package→ 等列表加载完成 → 搜索All Autocomplete(注意带空格)→ 回车 - 若之前手动放错过文件,建议重启 Sublime,避免缓存残留干扰加载
- 验证是否装对:再按
Ctrl+Shift+P→ 输入List Packages,看输出中是否有All Autocomplete;没有就等于没装上
开了全局补全还是补不出变量名?
All Autocomplete 不解析 import、不读 AST、不跟踪作用域,它只做一件事:把所有已打开的、可读的纯文本文件里的连续字母数字串(比如 def user_login 提取为 user_login)塞进补全池。补不出来,基本卡在这三个现实限制上。
- 目标词必须真实出现在某个**已打开且未关闭的标签页**中(哪怕只是只读打开的
utils.py),磁盘上存在的未打开文件它完全看不见 - 当前文件语法识别错误(右下角显示
Plain Text)→ 插件静默失效 - 触发方式是手动的:
Ctrl+Space(Win/Linux)或Cmd+Space(macOS),不是输入os.后自动弹;它也不响应.或:符号 - 大项目下命中率低?别调参数,直接右键侧边栏 →
Open Containing Folder,把核心模块(如constants.js、api.py)手动打开几个标签页,“人工索引”比改配置实在得多
和LSP补全混用时候选列表乱七八糟?
All Autocomplete 和 LSP(比如 LSP-pyright)是两套完全独立的机制:前者是字符串广播,后者是语义引擎。它们共存但互不增强,补全框里看到的是拼接结果——这也是最容易被忽略的复杂点。
- 你看到的
print可能来自 All Autocomplete(某文件里写过),而print(value, end='\n')的签名提示一定来自 LSP - 不要指望给 All Autocomplete 加
"auto_complete_triggers"就能模拟 LSP 行为;它触发后只做前缀匹配,不会查os对象有哪些属性 - 如果补全列表干扰太大,可在 All Autocomplete 用户设置里加
"max_files_to_scan": 20控制扫描范围,或临时禁用它来确认 LSP 是否正常工作











