关闭 sublime text 自动补全弹窗需在 preferences → settings – user 中设置 "auto_complete": false,保存即生效;此操作仅禁用自动触发,ctrl+space/cmd+space 仍可手动调出,且不影响 emmet 缩写、snippet 及 lsp 的 tab 补全功能。

怎么关掉 Sublime Text 的自动补全弹窗
默认开启的 auto_complete 会干扰快速输入,尤其写 HTML 标签或缩写时,弹出的候选框经常卡住光标。关掉它不等于禁用所有提示,只是不让它「自动蹦出来」。
- 打开
Preferences → Settings – User(不是 Default) - 在右侧面板 JSON 中添加或修改这一行:
"auto_complete": false - 保存后立即生效,无需重启
注意:这个设置只影响「自动触发」,Ctrl+Space(Windows/Linux)或 Cmd+Space(macOS)仍可手动唤出补全列表,适合需要时再调用。
为什么关了 auto_complete 还有代码提示?
因为 Sublime 有两个独立机制:一个是补全(auto_complete),另一个是内联函数/变量提示(show_definitions 和插件如 SublimeCodeIntel 或 EasyClangComplete)。前者控制弹窗,后者控制悬停或 F12 跳转。
- 如果悬停仍有提示,检查是否装了第三方插件,直接禁用对应插件即可
-
"show_definitions": false可关掉内置的悬停定义(但对大多数语言效果有限) - 插件级提示不会受
auto_complete设置影响,必须单独处理
auto_complete_delay 是个陷阱参数
有人想“延迟弹出”而不是彻底关闭,于是设 "auto_complete_delay": 9999。这看似合理,实际会导致两个问题:
citySHOP是一款集CMS、网店、商品、系统,管理更加科学快速;全新Jquery前端引擎;智能缓存、图表化的数据分析,手机短信营销;各种礼包设置、搭配购买、关联等进一步加强用户体验;任何功能及设置都高度自定义;MVC架构模式,代码严禁、规范;商品推荐、促销、礼包、折扣、换购等多种设置模式;商品五级分类,可自由设置分类属性;商品展示页简介大方,清晰,图片自动放大,无需重开页面;商品评价、咨询分开
- 输入过程中仍会卡顿,Sublime 仍在后台计算候选词
- 在某些语法(如 Markdown、JSON)里,延迟值过大反而让补全完全失效
- 真正想“按需触发”,不如直接设
"auto_complete": false,靠快捷键控制更稳
这个参数本意是优化响应节奏,不是替代开关逻辑。
禁用补全后,HTML 标签缩写(如 div.container)还能用吗?
能。Emmet 插件的展开功能(Tab 键)和补全系统是解耦的。只要 Emmet 没被卸载或禁用,div.container + Tab 依然生成 <div class="container"></div>。
- 确认 Emmet 是否启用:菜单栏
Preferences → Package Settings → Emmet → Settings,看"disabled_keymap_actions"里有没有包含"expand_abbreviation_by_tab" - 如果 Tab 不生效,大概率是这个配置项误加了
"expand_abbreviation_by_tab" - 禁用补全不影响 Emmet、Snippet、甚至部分 LSP 的
Tab补全行为
真正的冲突点只在「自动弹窗抢占焦点」,而不是「所有补全能力消失」——这点容易被误解。









