在Visual Studio中禁用单行复制

时间:2020-03-06 14:29:01  来源:igfitidea点击:

无论如何,是否有禁用Visual Studio(在我的情况下为2008)具有的相当烦人的功能,即当按下CTRL-C且未进行选择时,会复制光标所在的行(带有文本)?

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

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

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

解决方案

我敢肯定,2008年的方法与2005年的方法相同...请查看本教程"自定义键盘快捷键"(下降约1/3)

http://msdn.microsoft.com/zh-CN/library/bb245788(VS.80).aspx

我不相信没有某种类型的第三方剪贴板管理器会阻止我们用空字符串覆盖剪贴板内容,因此无法做到这一点。

我已经安装了免费的SlickEdit加载项,它的CommandSpy功能显示Ctrl + C执行Edit.Copy,无论文本是否突出显示。因此,我想问题的答案为否。

但是,我确实记得这个功能,当我第一次遇到它时会烦恼我。现在我依靠它,当我在其他程序中尝试相同的技巧时感到恼火,却一无所获。

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

我遇到了同样的问题,起初我以为是我的错,我以为是我不小心输入了ctrl-c来代替ctrl v,但不是,我确实遇到了这些问题

= /

如果我们不愿意自定义键盘设置,则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