vscode 折叠后默认不显示被隐藏的行数,这是原生未实现的功能,非配置或插件问题;唯一稳定方案是组合 auto fold 插件与自定义 css 注入,或通过状态栏临时提示、快捷键切换来间接判断。

VSCode 折叠后默认不显示被隐藏的行数,这是原生行为,不是配置漏了或插件没装对——它压根没提供这个功能。
折叠区域旁不显示行数是设计如此,不是 bug
VSCode 的折叠控件(行号旁的 ▶ / ▼)只负责展开/收起,不附带计数能力。即使你启用了 editor.showFoldingControls 或改了 editor.foldingStrategy,折叠后的横条上也只会显示「Folded Lines」提示,不会写“××行”。这不是设置项缺失,而是编辑器未实现该 UI 元素。
- 官方 issue 中多次被提出(如 #12758),但至今未纳入 roadmap
-
editor.foldingHighlight只控制边界线显隐,和行数无关 - 语言服务(如 TypeScript Server)返回的折叠范围是区间
[start, end],但 VSCode UI 层不渲染长度
用 Auto Fold 插件 + 自定义 CSS 强制显示行数
目前唯一稳定可行的“显示行数”方案,是组合使用 Auto Fold(Aidan W. 开发)和用户样式注入。注意:这不是纯配置,需手动加 CSS 片段。
- 先安装扩展:
Auto Fold(ID:aidanwu.auto-fold),确保启用auto-fold.startup - 打开命令面板(
Ctrl+Shift+P),运行Developer: Inspect Editor Tokens and Scopes,把鼠标悬停在折叠横条上,确认其 class 为folded-line或含codicon-chevron-down - 创建或编辑
$HOME/.vscode/extensions/aidanwu.auto-fold-*/styles.css(路径因版本而异),追加:
.monaco-editor .folding-marker::after {
content: " (" attr(data-lines) " lines)";
font-size: 0.8em;
opacity: 0.6;
margin-left: 4px;
}
⚠️ 这个 CSS 不生效?说明插件未暴露 data-lines 属性——此时需配合修改插件源码(extension.js 中搜索 foldingRange,在 DOM 插入时手动加 data-lines="${end-start}"),普通用户建议跳过此步。
替代方案:用命令面板查当前折叠块长度
如果你只是偶尔需要确认某处折了多少行,不用改插件也能快速获取:
- 把光标放在可折叠行(如
function、if、// #region所在行) - 按
Ctrl+Shift+P,输入并执行Fold→ 选中Fold All Block Comments等命令前,先看右下角状态栏——VSCode 会临时显示类似Folded 7 lines的提示(仅限部分折叠类型) - 更可靠的方式:安装
Code Spell Checker以外的辅助插件如Bracket Pair Colorizer,它虽不直接报行数,但折叠后高亮匹配括号时,能通过缩进层级反推大致跨度
真正难的不是“怎么加数字”,而是折叠状态本身不持久、不跨窗口同步,且大文件里频繁重算会拖慢响应——所以多数人最后都回归到快捷键 Ctrl+K Ctrl+0(全折叠)+ Ctrl+K Ctrl+J(全展开)循环切换,比盯着行数更省心。











