All Autocomplete 必须通过 Package Control 安装并配置启用跨文件索引,它仅基于已打开文件和项目内可读文本做字符串匹配补全,不解析语法结构、不跟踪引用、不理解作用域。

Sublime Text 默认只对当前文件做补全,All Autocomplete 插件能跨文件、跨项目提供变量/函数名补全,但它的安装和生效方式有明确前提——必须通过 Package Control 安装,手动放插件目录几乎必然失效。
用 Package Control 安装 All Autocomplete(唯一可靠方式)
手动下载 ZIP 解压到 Packages/ 目录下不会被识别,因为 All Autocomplete 依赖 Package Control 的加载机制和 Python 运行时环境。它不是纯静态插件。
- 确保已安装
Package Control:按Ctrl+Shift+P(Windows/Linux)或Cmd+Shift+P(macOS),输入Install Package Control并回车;若已有,跳过 - 再次调出命令面板,输入
Package Control: Install Package,回车 - 等待列表加载完成,输入
All Autocomplete,选中后回车 - 安装完成后重启 Sublime(非必须,但可避免缓存干扰)
All Autocomplete 不生效?检查这三处配置
插件装完不代表自动全局补全,它默认只启用基础模式,需手动开启跨文件索引。常见“装了没反应”基本卡在这几步。
-
Preferences → Package Settings → All Autocomplete → Settings – User中必须写入:{ "include_current_file": true, "include_all_files": true, "include_buffer": true } - 确认当前文件类型未被排除:插件默认跳过
.min.js、.log、node_modules等路径,如需包含,在设置中加"excluded_dirs"并清空数组 - 补全触发时机是
Ctrl+Space(Windows/Linux)或Cmd+Space(macOS),不是打字自动弹——它不替代原生补全,而是额外提供一个补全源
为什么有些变量还是补不出来?和作用域有关
All Autocomplete 只索引「已打开的文件」和「当前项目内可读的文本文件」,不解析语法结构。它本质是字符串匹配,不是 AST 分析器。
- 未打开的
.py文件里的函数名,如果不在当前项目文件夹内,不会被索引 -
import或require声明的模块变量,若模块文件未打开,也不会出现在候选里 - 动态生成的变量(如
obj[xxx])、eval 内容、模板字符串拼接的标识符,全部无法识别 - 大项目建议配合
SideBarEnhancements手动右键「Open Containing Folder」,把常用库文件临时打开,补全命中率明显提升
真正影响体验的不是安装步骤,而是理解它的能力边界:它快、轻量、支持多语言,但不理解作用域、不跟踪引用、不分析 import 链。想靠它替代 Jedi 或 TypeScript Language Server,会反复失望。










