Visual Studio: сокращенный ключ: дублирующая линия - PullRequest
381 голосов
/ 17 февраля 2010

Есть ли ярлык для Дублирующая строка команда в Visual Studio 2008?

Некоторые похожие примеры:

Ответы [ 28 ]

1 голос
/ 06 марта 2018

VS 2017 его Ctrl + D или Ctrl + C Ctrl + V они оба работают на меня.

1 голос
/ 27 марта 2012

http://www.jetbrains.com/resharper/

Моя история: начал работать в новой компании, никогда раньше не пользовался Visual Studio. Одна из первых вещей - как продублировать строки. После настройки макроса ReSharper сказал мне: хотите ли вы заменить мой ярлык, который был: "дублированный текст":)

1 голос
/ 07 июня 2014

Я использую ссылку приложения: AutoHotkey с кодом ниже, сохраненным в файле CommentDuplikateSaveClipboard.ahk. Вы можете редактировать / удалять ярлыки легко.
У меня есть ссылка на этот файл "Shortcut to CommentDuplikateSaveClipboard.ahk" в Autostart в Windows.
Этот скрипт защищает ваш буфер обмена.
Если вам более любопытно, вы бы добавили ярлыки в этот сценарий включения / включения.
Я иногда использую очень впечатляющий сценарий Multi Clipboard, чтобы легко обрабатывать многие clips, сохраненные на диске, и использовать с CTRL + C , X V , чтобы скопировать, вставить, вырезать, следующий, предыдущий, удалить это, удалить все.

;CommentDuplikateSaveClipboard.ahk

!c:: ; Alt+C === Duplicate Line
^d:: ; Ctrl+D
ClipSaved := ClipboardAll
Send, {END}{SHIFTDOWN}{HOME}{SHIFTUP}{CTRLDOWN}c{CTRLUP}{END}{ENTER}{CTRLDOWN}v{CTRLUP}{HOME}
Clipboard := ClipSaved
ClipSaved =
return

!x:: ; Alt+X === Comment Duplicate Line
ClipSaved := ClipboardAll
Send, {END}{SHIFTDOWN}{HOME}{SHIFTUP}{CTRLDOWN}c{CTRLUP}{LEFT}//{END}{ENTER}{CTRLDOWN}v{CTRLUP}{HOME}
Clipboard := ClipSaved
ClipSaved =
return

!z:: ; Alt+Z === Del uncomment  Line
ClipSaved := ClipboardAll
Send, {END}{SHIFTDOWN}{UP}{END}{SHIFTUP}{DEL}{HOME}{DEL}{DEL}
Clipboard := ClipSaved
ClipSaved =
return

!d:: ; Alt+D === Delete line
Send, {END}{SHIFTDOWN}{UP}{END}{SHIFTUP}{DEL}
return

!s:: ; Alt+S === Swap lines
ClipSaved := ClipboardAll
Send, {END}{SHIFTDOWN}{UP}{END}{SHIFTUP}{CTRLDOWN}x{CTRLUP}{UP}{END}{CTRLDOWN}v{CTRLUP}{HOME}
Clipboard := ClipSaved
ClipSaved =
return

!a:: ; Alt+A === Comment this line, uncomment above
Send, {END}{HOME}//{UP}{HOME}{DEL}{DEL}
return
1 голос
/ 12 июня 2014

В Visual Studio 2010 вы копируете всю строку, на которой находится курсор, с помощью CTRL + INSERT , затем вы можете использовать Ctrl + V или SHIFT + INSERT , чтобы вставить его.

0 голосов
/ 02 апреля 2019

в VS2019 , а также в VS2017 вы можете выбрать Инструменты-> Параметры-> Клавиатура , и вы можете выбрать в раскрывающемся меню Resharper (Visual Studio) , и вы получите отображение, как если бы вы использовали Resharper , в данном случае Ctrl + D сделает трюк для дублирования строки. В любом случае, на основе документации это должно быть вне ворот в Visual Studio 2017 версии 15.8 или выше

0 голосов
/ 13 сентября 2018

Ctrl + D - это новый ярлык, введенный в VS 2017 v15.6, который, кажется, делает именно то, что Ctrl + E , V

Ctrl + D будет дублировать строку, в которой находится курсор, и вставит ее прямо под линией в фокусе. Если вы хотите продублировать определенный набор кода, просто выберите часть кода, которую вы хотите дублировать, прежде чем вызывать команду дублирования кода.

Это не повлияет на ваш буфер обмена

Источник

0 голосов
/ 12 августа 2010

Не ответ, просто полезное дополнение: Как халява, я только что изобрел (ну ... эм ... скорректировал код, выложенный Lolo) макрос RemoveLineOrBlock. Наслаждайтесь!

Imports System
Imports EnvDTE
Imports EnvDTE80
Imports EnvDTE90
Imports EnvDTE90a
Imports EnvDTE100
Imports System.Diagnostics

Public Module RemoveLineOrBlock

    Sub RemoveLineOrBlock()
        Dim selection As TextSelection = DTE.ActiveDocument.Selection
        Dim lineNumber As Integer
        Dim line As String

        If selection.IsEmpty Then
            selection.StartOfLine(0)
            selection.EndOfLine(True)
        Else
            Dim top As Integer = selection.TopLine
            Dim bottom As Integer = selection.BottomLine

            selection.MoveToDisplayColumn(top, 0)
            selection.StartOfLine(0)

            selection.MoveToDisplayColumn(bottom, 0, True)
            selection.EndOfLine(True)
        End If

        selection.LineDown(True)
        selection.StartOfLine(vsStartOfLineOptions.vsStartOfLineOptionsFirstColumn,True)

        selection.Delete()

        selection.MoveToDisplayColumn(selection.BottomLine, 0)
        selection.StartOfLine(vsStartOfLineOptions.vsStartOfLineOptionsFirstText)

    End Sub

End Module
0 голосов
/ 11 сентября 2011

Для Visual Studio 2010 попробуйте использовать следующие команды для быстрого дублирования строк (использует буфер обмена):

  • Нажмите на строку, которую хотите скопировать. Ctrl + C скопирует эту строку.

  • Затем нажмите Ctrl + Shift + Введите , чтобы вставить пробел ниже точки вставки

    (В качестве альтернативы используйте Ctrl + Введите , чтобы вставить пустую строку над точкой ввода.)

  • Затем просто используйте Ctrl + V , чтобы вставить строку.

...