关闭 vs code 顶部固定行需将 editor.stickyscroll.enabled 设为 false,并设 editor.stickyscroll.maxlinecount 为 0、editor.stickyscroll.scrollwitheditor 为 true,三者缺一不可。

VS Code 顶部几行被固定显示(sticky lines)怎么关
这是 VS Code 1.84+ 引入的 stickyScroll 功能默认开启导致的——不是 bug,是特性,但很多人误以为是卡顿或渲染异常。它会把函数/类/块的开头几行“钉”在编辑器顶部,方便滚动时看上下文。
关闭最直接:打开设置搜索 editor.stickyScroll.enabled,把它设为 false。或者手动改 settings.json:
"editor.stickyScroll.enabled": false
- 该设置是全局生效的,不按语言区分
- 改完不用重启,实时生效
- 如果只希望某语言禁用(比如写 Python 时不需要),目前不支持 per-language 配置,只能关全局
为什么关了还看到固定行?检查是否开了 stickyScroll 其他相关项
stickyScroll 是个组合行为,光关 enabled 不够,还要确认另外两个开关没偷偷开着:
-
editor.stickyScroll.maxLineCount:设成0或1才真正抑制显示(默认是5) -
editor.stickyScroll.scrollWithEditor:如果设为false,固定行会一直停在顶部不动,看起来更像“卡住”
建议一并清理:
"editor.stickyScroll.enabled": false,<br>"editor.stickyScroll.maxLineCount": 0,<br>"editor.stickyScroll.scrollWithEditor": true
和 minimap / fold 无关,别去动那些设置
有人滚动时发现“前几行总在”,顺手去调 editor.minimap.enabled 或 editor.foldingStrategy,结果没用——这两者完全不影响 sticky line 行为。
-
minimap控制右侧缩略图,和编辑区内容固定无关 -
folding只影响代码折叠展开,不会让未折叠的行“粘”在顶部 - 真正干扰判断的是:当文件有大段注释或空行时,
stickyScroll可能选中它们作为“锚点”,显得突兀
macOS 上滚轮卡顿感强,可能和 stickyScroll 渲染冲突
部分 macOS 用户反馈:开启 stickyScroll 后,用触控板快速滚动时出现轻微卡顿或跳帧。这不是 VS Code 崩溃,而是 Webview 渲染层叠加 sticky 元素带来的性能开销。
- Intel Mac + VS Code 1.86+ 出现概率更高
- 关闭
editor.stickyScroll.enabled后,滚动流畅度通常立刻恢复 - 如果必须保留该功能,可尝试降低
maxLineCount到2,减少渲染压力
真正麻烦的是:这个功能没有快捷键开关,也没有命令面板入口,只能靠搜设置名。记不住的话,直接进 settings.json 改三行,比翻 UI 快得多。










