VSCode 平滑滚动需手动启用 "editor.smoothScrolling": true,仅作用于编辑器代码区;GUI 设置可能不同步,推荐直接编辑 settings.json;PageUp/PageDown 无动画属正常,因走页面跳跃逻辑;Mac 触控板卡顿可尝试关闭“自然滚动”。

VSCode 设置 smooth scrolling 不起作用?检查 settings.json 里这行
VSCode 默认不开启平滑滚动,必须手动启用 "editor.smoothScrolling",且仅对编辑器区域(即代码视图)生效,不控制侧边栏或设置页的滚动。
常见错误是只在 GUI 设置界面勾选“Smooth scrolling”,但 VSCode 的 GUI 设置有时不同步写入配置;更可靠的方式是直接编辑 settings.json:
- 打开命令面板(
Ctrl+Shift+P/Cmd+Shift+P),输入并执行Preferences: Open Settings (JSON) - 添加或确认存在这一行:
"editor.smoothScrolling": true - 保存后无需重启,立即生效(光标跳转、鼠标滚轮、方向键滚动都会带缓动)
为什么鼠标滚轮有动画但键盘 PageUp/PageDown 没反应?
这是正常行为。"editor.smoothScrolling" 只影响由编辑器原生处理的滚动动作,比如鼠标滚轮、触控板惯性滚动、以及通过 editorScroll 命令触发的滚动。而 PageUp/PageDown、Ctrl+Home 等快捷键走的是“页面级跳跃逻辑”,不经过平滑插值流程。
如果你确实需要键盘滚动也带过渡,目前没有内置开关,只能靠扩展(如 Scroll Marker 或自定义 keybinding 调用带延迟的 editorScroll 命令),但会增加响应延迟,实际体验未必更好。
Mac 上触控板惯性滚动卡顿?关掉 macOS 的“自然滚动”试试
VSCode 的平滑滚动和 macOS 系统级的“自然滚动”(即反转滚动方向)存在底层事件冲突,尤其在较老版本 VSCode(
- 临时验证:系统设置 → 触控板 → 取消勾选
"自然滚动",再测试 VSCode 编辑器滚动 - 长期建议:保持
"editor.smoothScrolling": true,同时在 VSCode 设置中加一行"editor.mouseWheelScrollSensitivity": 1.2(默认是 1.0),微调手感 - 注意:该参数值大于 1 加快滚动速度,小于 1 更慢更精细,不是所有设备都适用
Web 版 VSCode(vscode.dev)不支持 smoothScrolling?对,它被硬编码禁用了
VSCode for the Web(即 https://vscode.dev)出于性能与兼容性考虑,在渲染层绕过了 Chromium 的 scroll-behavior: smooth CSS 属性,且未暴露 editor.smoothScrolling 配置项——即使你手动往 settings.json 里加,也会被忽略。
这不是 bug,是明确的设计取舍。如果必须用 Web 版又依赖平滑感,唯一可行路径是本地安装桌面版,或改用基于 Monaco 编辑器的其他在线 IDE(如 StackBlitz),它们可能单独实现了滚动插值。
真正容易被忽略的一点:平滑滚动是纯客户端渲染效果,不影响任何文件操作、语言服务或调试功能。别为了它去升级 Electron 或重装插件——只要 settings.json 里那行开着,且没被策略组/远程开发配置覆盖,它就在那儿工作。










