要关闭Sublime Text原生悬停定义提示,需在Preferences → Settings – User右侧JSON中添加"show_definitions": false(末尾加英文逗号),保存即生效;但LSP插件或SublimeCodeIntel等第三方工具的悬停不受此设置影响,须单独进入对应插件设置关闭hover或相关选项。

怎么关掉 Sublime Text 的悬停定义提示(show_definitions)
Sublime 原生的悬停提示(鼠标停在函数/变量上显示定义)由 show_definitions 控制,但它默认只对部分内置语言(如 Python、JavaScript)生效,且效果有限。设为 false 可禁用该功能,但不会影响 LSP 插件或第三方工具提供的更高级悬停(如类型签名、文档摘要)。
打开 Preferences → Settings – User,在右侧 JSON 中添加或修改:
"show_definitions": false
注意:这行必须写在用户设置里,且末尾加英文逗号(如果前面已有配置)。保存后立即生效,无需重启。
为什么关了 show_definitions 还有悬停弹窗
因为真正提供丰富悬停内容的通常是插件,不是 Sublime 本体。常见情况包括:
-
LSP插件(如lsp-python、lsp-typescript)自带独立悬停逻辑,show_definitions对它完全无效 -
SublimeCodeIntel、EasyClangComplete等旧插件也有自己的悬停开关,需进Preferences → Package Settings → [插件名] → Settings单独关闭 - 某些插件把悬停和“跳转定义”(
goto_definition)耦合,关了悬停可能连 F12 都失效
如何识别并关闭 LSP 插件的悬停
LSP 悬停由服务端控制,客户端(即 Sublime 的 LSP 插件)只负责渲染。关闭方式取决于你用的是哪个 LSP 客户端:
- 若用官方
LSP插件:打开Preferences → Package Settings → LSP → Settings,添加:"hover": false
- 若用
LSP-pyright或LSP-typescript:它们通常继承主LSP设置,但个别版本需在插件专属设置中显式关掉"hover_enabled" - 不确定是哪个插件?按
Ctrl+Shift+P输入LSP: Toggle Server Panel,看当前激活的服务名
别误关 auto_complete 当成关悬停
auto_complete 控制的是「代码补全候选框」(Ctrl+Space 弹出的列表),和悬停提示无关。有人混淆两者,结果关错设置:
- 设
"auto_complete": false→ 补全框不自动弹,但悬停照常出现 - 设
"show_definitions": false→ 悬停消失,但补全框仍可手动唤出 - 两个都关才干净,但要分清目标:补全弹窗 vs 悬停气泡
最易被忽略的是插件级悬停——它不读主设置,也不随 show_definitions 同步关闭,必须逐个查包设置。漏掉一个,悬停就还在。

















