dotnet/roslyn

Treat backspace as undo immediately after semi-colon insert/caret movement

Open

#51,685 opened on Mar 5, 2021

View on GitHub
 (3 comments) (2 reactions) (0 assignees)C# (4,257 forks)batch import
Area-IDEConcept-Continuous Improvementhelp wanted

Repository metrics

Stars
 (20,414 stars)
PR merge metrics
 (Avg merge 6d 17h) (256 merged PRs in 30d)

Description

Currently in most text editors if I type a, ;, BACKSPACE, , then in my file I get a,, which is what I intended.

In Visual Studio however, in some circumstances, say for example within an expression in C#, I don't get those characters, but instead I get the cursor moved somewhere I didn't intend, a comma at that location, and usually compile errors. As a fast typer who knows when I've hit the wrong key without looking at the screen, this makes me very angry, at least once per day.

On the assumption that an option to disable this behaviour will not be forthcoming, I think it would be the Next Best Thing™ if Roslyn could detect when I've hit backspace in this scenario, and remove any semi-colon that it has inserted, and move the cursor back to where it was. This would mean my typing flow is not interrupted, and I would cease to get angry.

In general, I think its a bad idea that pressing a standard ASCII character keyboard key with no modifier can make the cursor jump an arbitrary amount.

Yes I know about the Undo feature and keyboard shortcut.

Contributor guide