VSCode悬停提示不显示行数,因其设计本就不支持折叠行数统计;查看折叠行数需依赖Auto Fold插件+CSS注入;提升长代码可读性应启用软折行与缩进对齐等原生设置。

VSCode 悬停提示根本不会显示“行数”,别在设置里找
VSCode 的悬停(hover)功能设计上就不包含“显示被折叠/隐藏的行数”这个能力。你看到的 HoverProvider 返回的是 Markdown 文档、类型信息或变量值,不是折叠区域统计——editor.hover.delay、editor.hover.enabled 这些配置项完全不涉及行数计算。所谓“自定义悬停显示行数”,是混淆了两个 UI 元素:一个是鼠标悬停弹出的提示框,另一个是代码折叠控件(▶ / ▼)旁的视觉反馈。
想看折叠区域有多少行?得靠折叠控件 + 插件组合
VSCode 原生折叠横条上只写 “Folded Lines”,不渲染具体数字。目前唯一稳定方案是用 Auto Fold 插件配合自定义 CSS 注入:
- 安装扩展
aidanwu.auto-fold,确保auto-fold.startup启用 - 打开命令面板(
Ctrl+Shift+P),运行Developer: Inspect Editor Tokens and Scopes,把鼠标悬停在折叠横条上,确认其 DOM class 是folded-line或含codicon-chevron-down - 找到插件样式目录(路径类似
$HOME/.vscode/extensions/aidanwu.auto-fold-*/styles.css),追加 CSS 规则:.folded-line::after { content: " (" attr(data-lines) " lines)"; }(需插件支持data-lines属性,否则要改插件源码或换 fork 版本)
注意:这不是纯配置能搞定的事,CSS 注入需重启 VSCode 且每次插件更新可能失效。
长代码查看更实际的方案:软折行 + 缩进对齐
比起强行在 hover 里塞行数,真正提升长代码可读性的是控制显示方式:
- 启用软折行:
"editor.wordWrap": "on"(按窗口宽度折)或"wordWrapColumn"+"editor.wordWrapColumn": 120(固定列折) - 避免续行顶格难读:
"editor.wrappingIndent": "indent",让第二行继承首行缩进 - 检查语言级覆盖:右下角点语言名 →
Configure 'JSON' language specific settings,确认没被"[json]": { "editor.wordWrap": "off" }静默关掉
这些设置生效快、不依赖插件、不影响文件内容,复制粘贴仍是原始单行——这才是日常开发中真正可控的“长代码查看”路径。
别碰 editor.hover.delay 设为 0,它解决不了行数问题
有人误以为调低悬停延迟就能“更快看到行数”,但 editor.hover.delay 只控制请求发起时机,和内容无关。设为 0 反而暴露语言服务器冷启动抖动,导致悬停闪白屏或卡 2~3 秒,尤其在大型 TS 或 Vue 项目里。它既不返回折叠行数,也不影响折叠控件的 UI 渲染。真要手动查折叠范围,用 Ctrl+K Ctrl+I 强制唤出提示后看状态栏左下角的 LSP 日志更直接。


















