editor.smoothScrolling not working when IDE zoom is not default

Where does the bug appear (feature/product)?

Cursor IDE

Describe the Bug

The editor.smoothScrolling setting does not work correctly in Cursor when the IDE zoom level is different from the default (zoom level ≠ 0).

When zoom is modified (either increased or decreased), scrolling becomes noticeably non-smooth, even if “editor.smoothScrolling”: true is enabled. The behavior differs from VS Code, where smooth scrolling continues to function correctly regardless of zoom level.

Steps to Reproduce

  1. Open Cursor

  2. Open settings.json

  3. Ensure the following setting is enabled:

“editor.smoothScrolling”: true
4.Change the zoom level:
Ctrl + + (zoom in) or
Ctrl + - (zoom out)
5. Open a long file
6. Scroll using the mouse wheel

Expected Behavior

Scrolling should remain smooth and animated regardless of the zoom level, consistent with VS Code behavior.

Operating System

Windows 10/11

Version Information

Version: 3.2.16 (user setup)
VSCode Version: 1.105.1
Commit: 3e548838cf824b70851dd3ef27d0c6aae371b3f0
Date: 2026-04-28T21:07:47.682Z
Layout: editor
Build Type: Stable
Release Track: Default
Electron: 39.8.1
Chromium: 142.0.7444.265
Node.js: 22.22.1
V8: 14.2.231.22-electron.0
OS: Windows_NT x64 10.0.26200

Does this stop you from using Cursor

No - Cursor works, but with this issue

Hey, thanks for the detailed report, I can reproduce it. This is an unsupported regression from upstream VS Code: at a non-default zoom level, the mouse wheel classifier can mis-detect a physical mouse wheel as a touchpad due to floating-point precision, and it disables smooth scrolling.

This is already fixed in upstream VS Code Fix Jittery editor mouse wheel zoom when setting window.zoomLevel = 1 by Jose-AE · Pull Request #227916 · microsoft/vscode · GitHub July 2025, the fix is a one-liner. We haven’t pulled it in yet on our side, I’ve filed it internally. I can’t share an ETA yet, but once we pull the upstream merge or cherry-pick it, the issue should be gone.

Workaround for now: reset zoom to default with Ctrl+0, or use window.zoomLevel in settings instead of Ctrl+/ Ctrl+-, sometimes that helps, although for the same reason it might not work at any non-default value.