Sticky Scroll 是 VS Code 1.84 起内置的滚动上下文提示功能,动态显示当前视口顶部最近的作用域起始行(如函数、类、if 块),最多 5 行,支持主流语言,需语言服务器提供大纲信息。
sticky scroll 是 vs code 1.84 版本起内置的实用功能,能让你在滚动查看长文件时,始终看到当前代码块(如函数、类、if 块等)的顶部上下文,避免“滚着滚着不知道自己在哪”的尴尬。
它到底显示什么?
Sticky Scroll 不是固定某一行,而是动态显示当前视口顶部最近的几个**作用域起始行**。比如你正看一个函数中间部分,它就会把该函数的 function xxx() 或 def xxx(): 固定在编辑器顶部;如果进了嵌套的 if 或 for,也会逐级显示外层结构。
- 支持 JavaScript、TypeScript、Python、Java、C#、Go 等主流语言(依赖语言服务器提供大纲信息)
- 只在当前可见区域顶部“粘住”,不遮挡代码,也不影响编辑
- 最多显示 5 行(可配置),越靠近当前光标位置的层级越靠前
怎么开启和调整?
默认已启用,但你可以按需微调:
- 打开设置(Ctrl+, 或 Cmd+,),搜 sticky scroll
- editor.stickyScroll.enabled:开关总控(默认 true)
- editor.stickyScroll.maxLineCount:最多显示几层(默认 5,建议保持 3–5)
- editor.stickyScroll.showIcons:是否显示小图标(如函数图标、类图标,默认 true)
和 Breadcrumbs 有啥区别?
Breadcrumbs 显示的是整个文件的结构路径(通常在编辑器顶部标题栏下方),属于静态导航;而 Sticky Scroll 是**滚动感知型上下文提示**——它随你滚动实时变化,专注解决“我当前在这段代码里哪一层”这个即时问题。两者互补,不是替代关系。
常见问题小提醒
- 没反应?检查语言模式是否正确(右下角确认是 Python/JS 等,不是 Plain Text)
- 某些自定义语法或老旧扩展可能干扰大纲解析,可临时禁用扩展测试
- 它不支持注释块或纯文本区域——只识别被语言服务识别为“可折叠代码块”的结构
基本上就这些。开箱即用,不复杂但容易忽略——下次看几百行的 config.py 或 index.ts 时,抬头看看那几行“粘住的头”,你会感谢自己打开了它。










