关了editor.hover.enabled仍有折叠区域提示,因其由VSCode折叠提供器内置的“折叠提示”逻辑渲染,不响应该设置,也不走LSP协议;目前无任何用户配置项可关闭,属硬编码行为。

为什么关了 editor.hover.enabled 还有折叠区域提示?
折叠区域(比如 //#region、class 块、if 语句块)旁的悬浮提示,不是由编辑器原生 hover 系统控制的,而是由 VSCode 的「折叠提供器(folding provider)」附带的「折叠提示(folding hover)」逻辑渲染的。它不响应 editor.hover.enabled,也不走 LSP hover 协议,属于折叠功能的内置附属行为。
foldingStrategy 和折叠提示有关系吗?
没有直接关系。foldingStrategy 只决定如何计算可折叠范围(如 auto 或 indentation),不影响悬停是否显示。折叠提示的开关是独立的,且目前 VSCode **没有暴露任何用户可配置项**来关闭它——这是硬编码行为,无法通过 settings.json 或 UI 设置禁用。
能绕过或弱化这个提示吗?
不能彻底关闭,但可以降低干扰:
- 把鼠标悬停位置刻意避开折叠箭头正上方(比如悬停在行号区、或折叠行末尾空白处),提示框通常不会触发
- 调高
editor.hover.delay(例如设为800),让轻微滑过不弹出,只对明确停留生效 - 禁用所有折叠相关扩展(如
Expand Region、Fold Plus),防止它们叠加额外 hover 内容 - 确认没启用
editor.folding.highlight(默认false),它控制的是折叠区域背景高亮,和提示无关,但容易混淆
别误关其他“长得像”的提示
折叠提示常被误认为是以下几类,其实无关:
-
colorDecorators.enabled:控制#ff0000这类颜色预览,关了不影响折叠提示 -
html.hover.enabled:只影响 HTML 标签上的 MDN 链接,和折叠无关 -
editor.parameterHints.enabled:控制fetch(后的参数面板,视觉位置不同 - GitLens 的 blame 提示:靠
gitlens.showCurrentLineBlame控制,也和折叠无关
折叠区域的悬停提示是 VSCode 底层折叠机制自带的固定行为,既无配置项,也无法拦截。真正要清干净,只能接受它存在,或靠操作习惯避开——这点容易被忽略,但确实是当前版本(1.118)的硬限制。


















