-
Notifications
You must be signed in to change notification settings - Fork 34.4k
Closed
Labels
editor-coreEditor basic functionalityEditor basic functionalityfeature-requestRequest for new features or functionalityRequest for new features or functionalityverification-neededVerification of issue is requestedVerification of issue is requestedverifiedVerification succeededVerification succeeded
Milestone
Description
- VSCode Version: 1.13.0
- OS Version: Windows 10
VSCode's undo behaviour seems unusually coarse and not in line with how other editing experiences work. Often I accidentally hit the wrong key while something is selected and accidentally overwrite what I'd written. Then when I hit undo, it undoes not only what I just did, but a whole lot of what I'd done previously. Undo is supposed to save the user from these sorts of problems.
Steps to Reproduce:
- Type some words
- Delete the last word
- Type some more words
- Decide you don't like your change and hit undo
The entire sentence vanishes.
Undo stops should occur (roughly) in the following scenarios:
- When starting a new destructive operation (backspace, delete, cut, etc.) after a constructive operation (typing, pasting, other insertion scenarios).
- The inverse of the above; starting a new constructive operation after a destructive operation.
- Between different classes of destructive or constructive edit - for example if I backspace a few times, removing characters left of the cursor, and then use the delete key, removing characters to the right of the cursor, I'd expect an undo stop to occur when the delete key is first pressed.
- Starting to navigate and/or select text with the cursor after any kind of edit, or starting an edit operation after navigating with the cursor.
alexdima
Metadata
Metadata
Assignees
Labels
editor-coreEditor basic functionalityEditor basic functionalityfeature-requestRequest for new features or functionalityRequest for new features or functionalityverification-neededVerification of issue is requestedVerification of issue is requestedverifiedVerification succeededVerification succeeded