sublime text原生无函数参数提示,所谓“遮挡”实为lsp等插件的hover框、补全面板或括号高亮所致;应分别关闭hover_enabled、禁用auto_complete或调整括号样式。

Sublime多光标下参数提示不会自动弹出
Sublime Text 本身不提供函数参数签名的悬浮提示(即 VSCode 那种括号内实时显示 func(a: str, b: int) 的功能),所以你遇到的“遮挡”根本不是 Sublime 原生行为。所谓“多行编辑时提示遮挡”,大概率是以下三者之一:语言服务器插件(如 LSP、Anaconda、Jedi)主动注入的 hover 框、代码补全面板(Ctrl+Space)意外展开,或误把 Sublime 的行高亮/括号匹配高亮当成“提示”。先确认你看到的是什么:悬停几秒才出现?光标一停就跳出来?还是只在按 Ctrl+Space 时才有?不同来源,解法完全不同。
关掉 LSP 插件的自动 hover 提示
如果你装了 LSP 或 LSP-pylspLSP-typescript 等扩展,它们会接管 hover 行为,并默认开启自动弹出。这个提示框位置固定在光标正下方,多光标时可能堆叠、错位、遮挡代码——而且它不识别多光标上下文,只对第一个光标位置响应。
- 打开
Preferences → Package Settings → LSP → Settings - 在右侧用户设置中添加:
"hover_enabled": false
- 保存后,所有语言的自动悬停消失;需要时可手动触发:
Ctrl+K Ctrl+I(Windows/Linux)或Cmd+K Cmd+I(macOS) - 注意:某些语言服务器(如
pyright)还支持"pyright.hover.enabled"这类细化配置,需查对应文档
避免补全面板干扰多光标操作
多光标状态下按 Ctrl+Space 或输入字母触发补全,会导致面板弹出并覆盖当前视图——尤其当多个光标分散在不同行时,面板可能卡在中间某一行下方,视觉上像“被挡住”。这不是 bug,是设计使然:Sublime 的补全面板只锚定一个主光标位置。
- 临时禁用:按
Esc关闭当前面板;多光标编辑前先按一次Esc清空潜在补全状态 - 长期规避:在用户设置中加
"auto_complete": false
,彻底关闭自动触发;需要补全时再手动按Ctrl+Space - 别依赖
auto_complete_delay:设成 0 不是“立刻补全”,而是频繁发请求,反而加重卡顿和面板抖动
精简括号高亮与括号匹配样式
很多人误以为“刺眼的括号高亮”是“提示遮挡”。Sublime 默认的括号匹配(BracketHighlighter 或原生 bracket highlight)会在光标所在括号对上叠加强背景色或边框,多光标时若恰好跨括号,视觉干扰极大。
- 如果用了
BracketHighlighter插件:打开其用户配置(Preferences → Package Settings → BracketHighlighter → Bracket Settings – User),把"style"改成"underline"或"thin_underline",比默认"outline"或"solid"温和得多 - 如果用原生高亮:确保
"match_brackets"为true,但关掉"match_brackets_content"和"match_brackets_square"等冗余项,减少重叠渲染 - 最关键一点:多光标编辑时,**永远不要让光标停在括号字符上**——移到括号内或外侧,高亮自动弱化
真正难处理的不是“怎么关提示”,而是你根本没意识到哪些提示来自哪个插件。LSP、Anaconda、SublimeCodeIntel、甚至 Emmet 都可能悄悄注册自己的 hover 提供器。建议打开命令面板(Ctrl+Shift+P),输入 lsp: show log 或 anaconda: toggle,逐个排查活跃服务。多光标本就脆弱,叠加多个浮动 UI 层,不出问题才怪。











