dotnet/roslyn

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

开放

#51,685 创建于 2021年3月5日

 (3 条评论) (2 个反应) (0 位负责人)C# (4,257 个派生)batch import
Area-IDEConcept-Continuous Improvementhelp wanted

仓库指标

星标
 (20,414 个星标)
PR 合并指标
 (平均合并 6天 17小时) (30 天内合并 256 个 PR)

描述

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.

贡献者指南