禁用Visual Studio中的Shift+Delete剪切功能

48

我打字速度很快。在编程时,我经常使用 Shift+End 选定一行文本,然后按下 delete 键,但我动作太快了,手指还没有离开 shift 键就完成了操作,导致剪贴板中的内容被替换为所选内容。

这样做很糟糕,因为很多时候我是在粘贴其他代码之前删除了一些代码。

显然,shift+del 是一个老派的剪切方式。

我知道在 Visual Studio 中可以使用 ctrl+shift+v 循环浏览剪贴板历史记录,但这仍然非常麻烦。

是否有一种方法可以在 Visual Studio 或 Windows 中禁用此快捷键?

4个回答

50

回答得不错。虽然我认为有些人仍然喜欢执行删除操作。

要执行整行擦除,可以按 SHIFT+DEL,但不要将其添加到剪贴板中:

(如上所述)取消 SHIFT+DEL 绑定 Edit.Cut 命令

并且

SHIFT+DEL 组合键绑定到 Edit.LineDelete 命令。


那看起来很繁琐。为什么不直接按DEL键删除而不添加到剪贴板呢? - bos
15
按下DEL键只能逐个删除字符,而按下SHIFT+DEL键可以一次性删除整行,这样可以节省很多时间和烦恼,你应该试试看 (: - stvn
4
我爱你 :D 这正是我正在寻找的东西。 - AndreaCi
这正是我一直在寻找的。来自未来的感谢! - Chris Bardon

45

在 Visual Studio 中,键盘快捷键是可以非常全面地自定义的。

前往 工具 > 选项,然后在左侧选择 环境 > 键盘

选择命令,选择要移除的快捷键,点击 "删除",然后点击 "确定"

enter image description here

如果你想在 Windows 中绕过这个设定,你可以使用一行 AutoHotkey 脚本来将 Shift+Delete 转换为普通的 Delete

+DELETE::SendInput,{DELETE}

我该如何在这10000000个条目中找到我的热键? - Liquid Core
5
您可以在写有“显示包含命令”的框中进行搜索。如果您想要找出使用特定热键的命令,您可以输入该热键在“按快捷键”框中,就像要为其分配一样。在对话框底部有一个下拉菜单,会显示已经分配该热键的命令。请注意,我会尽力让翻译通俗易懂,但不会改变原文意思。 - Jay
2
编辑.剪切有两个快捷键:Ctr+X和Shift+Del。我将Shift+Dl从剪切中移除并分配给Edit.LineDelete。 - scar80
+1 这个答案在程序员记事本中也适用:转到“工具->选项”,选择“键盘”并向下滚动,直到找到“编辑->剪切”,然后只需删除“Shift+Del”快捷键即可。 - indextwo
虽然与问题不完全相关,但我经常发现自己会更新剪贴板上的一些随机内容。这就是为什么我开始使用Ditto(但还有更多的剪贴板管理器可用),它真正拯救了生命! - Sebastian Budka

3

有一个更简单的方法。 快捷键CTRL+SHIFT+L可以直接删除当前所在行,而不需要先选择它或者复制到剪贴板。


1
这个AutoHotkey脚本可以全局解决这个问题:

+Delete::
KeyWait Shift
Send {Delete}

Shift+Insert还好,但Shift+Delete就太邪恶了。

我曾经常会完全丢失代码,同时也被彻底搞糊涂,不知道它去哪里了!:-)


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接