All Autocomplete仅提供跨文件字符串匹配,不解析语法、不理解import、不提示参数;真智能补全需LSP+语言服务器。它必须通过Package Control安装,手动放文件无效;启用需在用户设置中显式配置"all_autocomplete": true及包含文件选项,并确保语法识别正确;补全触发为Ctrl/Cmd+Space,且仅索引已打开文件;大项目建议手动打开关键库文件;LSP才支持函数签名、类型推导、跳转定义等,All Autocomplete与LSP共存时候选会混杂干扰。

Sublime 的“智能感应补全”不是单一开关能打开的功能,All Autocomplete 插件也**不提供真正意义上的智能补全**——它只做跨文件字符串匹配,不解析语法、不理解 import、不提示参数。想获得函数签名、类型推导、跳转定义等能力,必须用 LSP + 语言服务器。
All Autocomplete 必须走 Package Control 安装,手动放文件无效
它依赖 Package Control 的 Python 运行时和插件加载机制,不是解压即用的静态资源。手动下载 ZIP、解压到 Packages/ 或 Installed Packages/ 目录下,Sublime 根本不会识别——重启也没用。
- 先确认已装 Package Control:按
Ctrl+Shift+P(Win/Linux)或Cmd+Shift+P(macOS),输入Install Package Control回车;已有则跳过 - 再调命令面板,输入
Package Control: Install Package,等待列表加载完成 - 搜索
All Autocomplete(注意拼写,带空格),回车安装 - 安装后建议重启 Sublime,尤其之前试过手动安装的,避免缓存干扰
装完默认不跨文件,必须手动开启并配对设置
插件默认只启用当前文件内补全,"all_autocomplete": true 这个配置项必须显式写在用户设置里,且注意键名不是 all_autocomplete_enabled 或 enabled。
- 打开
Preferences → Package Settings → All Autocomplete → Settings – User - 填入最小必要配置:
{ "include_current_file": true, "include_all_files": true, "include_buffer": true } - 确保当前文件右下角显示的是
Python、JavaScript等有效语法,不是Plain Text;否则插件不启动 - 补全触发是手动的:
Ctrl+Space(Win/Linux)或Cmd+Space(macOS),不是边打字边弹
为什么补不出变量?和“打开状态”“语法识别”强绑定
All Autocomplete 只索引已打开的标签页 + 当前项目中 Sublime 能读取的纯文本文件(如 .py、.js),不做 AST 分析,也不跟踪模块引用关系。
- 未打开的
utils.py里的函数名,不会出现在补全列表里 -
import requests后输requests.,不会列出get()、post(),因为插件不解析requests模块内容 - 动态生成的变量(如
obj[xxx])、eval内容、模板字符串拼接的标识符,全部无法识别 - 大项目想提高命中率?右键常用库文件 →
Open Containing Folder→ 手动打开几个关键文件,比等自动扫描靠谱得多
LSP 才是真智能补全的唯一路径
如果你需要函数参数提示、悬停看文档、跳转定义、类型推导,All Autocomplete 无法满足。必须装 LSP 插件 + 对应语言服务器(如 python-lsp-server、typescript-language-server),并配好关键设置。
- 安装
LSP和LSP-pyright(Python)或LSP-typescript(JS/TS) - 确保用户设置里有:
"auto_complete": true和"auto_complete_commit_on_tab": true - 检查 LSP 设置中是否启用了
"show_symbol_descriptions": true和"show_documentation": true - 状态栏右下角必须显示对应语言(如
Python),LSP 才会激活;显示Plain Text时,连语言服务器都不会启动
最容易被忽略的一点:All Autocomplete 和 LSP 补全结果会混在一起显示,但前者无类型信息、无上下文判断,优先级低。如果同时启用多个补全源,实际体验可能更混乱——不是功能叠加,而是候选干扰。选哪个,取决于你要的是“快而广的词频匹配”,还是“准而深的语义推导”。

















