Sublime的auto_complete_delay仅控制原生补全弹出时机,非越小越好:设50ms易卡顿,800ms则滞后;合理区间为120–300ms;但若语法识别错误、auto_complete关闭、启用LSP/Jedi插件或存在node_modules等干扰目录,该设置将失效。

直接结论:用 auto_complete_delay 控制原生补全弹出时机,但设太小(如 50)反而卡顿,设太大(如 800)又感知滞后;真实可用区间是 120–300,且仅对 Sublime 自带补全生效。
为什么改了 auto_complete_delay 没反应?
常见错觉:改完保存就该立刻变快。实际常因以下原因失效:
- 右下角语法标识不是目标语言(比如写 Python 却显示
Plain Text),auto_complete_selector会跳过该文件,补全根本不会启动 -
auto_complete在用户设置里被设为false,整个功能已关闭 - 你用的是 LSP 或 Jedi 插件——它们的延迟由各自配置控制,
auto_complete_delay对它们完全无效 - 项目含
node_modules或__pycache__,后台索引卡死,补全等不到结果就超时了
怎么正确设置 auto_complete_delay
只改这一项不够,必须配合上下文:
- 打开
Preferences → Settings – User,在右侧 JSON 中添加或修改:{"auto_complete_delay": 200} - 数值单位是毫秒,
120适合小项目或纯文本补全,200–300更稳,尤其开了 Jedi 或 pyright 时 - 别设
0或5:每敲一个字符都触发扫描,UI 线程反复中断,反而更卡 - 设超过
500后,人眼明显感知“迟钝”,尤其连敲函数参数时,补全框刚出来你就已输完下一个字符
LSP、Jedi 这些插件的延迟怎么调?
auto_complete_delay 不管它们,得去各自插件设置里找对应字段:
- LSP 插件(如
LSP-pyright):打开Preferences → Package Settings → LSP → Settings,查lsp_auto_complete_delay或类似字段(不同语言服务器命名不一) - Jedi 插件:进
Preferences → Package Settings → Jedi → Settings,找jedi_completion_delay或嵌套在jedi_settings下的auto_complete_delay - Anaconda:同理,在其专属设置里搜
auto_complete_delay,不是顶层键 - 插件没提供延迟配置?那就关自动触发,改用手动快捷键:
Ctrl+Space(Windows/Linux)或Cmd+Space(macOS)
真正拖慢补全的,往往不是那个毫秒数字,而是 Sublime 正在后台扫你根本不会去补全的几千个 .js 文件。调参前,先确认 index_files 是否关了、folder_exclude_patterns 是否排除了 node_modules 和 __pycache__——这些比改 auto_complete_delay 重要得多。











