36

无论如何禁用Visual Studio(在我的情况下为2008)具有复制行(上面有文本)的相当烦人的功能,当CTRL-C被按下并且没有进行选择时光标处于打开状态?

我知道禁用复制空白行的选项。但这也让我发疯。

ETA:我不想自定义键盘快捷键。

ETA-II:我不是在寻找“工具->选项->文本编辑器->所有语言->应用剪切或复制到空白行...”。

4

6 回答 6

23

您可能遇到的真正问题是您使用CTRL+进行粘贴V。你不小心输入了 CTRL+ C,最终覆盖了剪贴板上的内容。据我所知,您无法禁用此功能,但是,解决此问题的方法是,您可以多次按++CTRL以备份您在 Visual Studio 中复制的内容堆栈。这不仅可以让您恢复最初复制的内容,而且您还会发现++在许多其他情况下非常有用。SHIFTVCTRLSHIFTV

于 2008-11-02T01:48:07.447 回答
15

如果您不愿意自定义键盘设置,那么Ctrl+C将始终是 Edit.Copy,如果未选择任何内容,它将复制当前行。如果你不愿意使用 VS 提供的工具来自定义界面,那你就做不到。

但是,以下工作:将此宏分配给Ctrl+ C

Sub CopyOnlyIfSelection()
    Dim s As String = DTE.ActiveDocument.Selection.Text
    Dim n As Integer = Len(s)
    If n > 0 Then
        DTE.ActiveDocument.Selection.Copy()
    End If
End Sub
于 2010-03-24T16:48:46.373 回答
1

我很确定 2008 年的方式与 2005 年的方式相同......查看关于“自定义键盘快捷键”的本教程(大约下降了 1/3)

http://msdn.microsoft.com/en-us/library/bb245788(VS.80).aspx

于 2008-09-20T13:24:25.207 回答
1

我不相信如果没有某种类型的 3rd 方剪贴板管理器可以做到这一点,它会阻止您用空字符串覆盖剪贴板内容。

于 2008-09-20T13:57:30.963 回答
1

我安装了免费的 SlickEdit 插件,它的 CommandSpy 功能显示Ctrl+C执行 Edit.Copy,无论您是否突出显示文本。因此,我想您的问题的答案是否定的。

但是,我确实记得当我第一次遇到这个功能时,它让我非常恼火。现在,当我在其他程序中尝试相同的技巧并且没有任何反应时,我依赖它并感到恼火。

于 2008-09-30T09:51:29.337 回答
1

Visual Studio 2019 和 2017 有一个名为 CopyOnlySelection 的扩展:

https://marketplace.visualstudio.com/items?itemName=KiwiProductions.CopyOnlySelection

这不会立即解决它,但会添加另一个名为 Edit.CopyOnlySelection 的命令,您可以将其绑定到 Ctrl+C(并从正常的 Edit.Copy 中删除 Ctrl+C)。

于 2021-06-01T12:59:36.060 回答