510 Stimmen

Visual Studio : Tastaturkürzel : Zeile duplizieren

Gibt es eine Abkürzung für Zeile duplizieren Befehl in Visual Studio 2008?

Einige ähnliche Beispiele:

33voto

sawe Punkte 1123

Ctrl + D funktioniert für mich in VS2012 mit Resharper. Es ist Resharper's Hotkey.

23voto

Mark Foreman Punkte 1660

Hier ist ein Makro, das auf dem Makro in dem von Wael geposteten Link basiert, aber in den folgenden Bereichen verbessert wurde:

  • etwas kürzer
  • etwas schneller
  • Kommentare :)
  • verhält sich bei Zeilen, die mit "///" beginnen
  • kann mit einem einzigen Rückgängigmachen rückgängig gemacht werden

    Imports System Imports EnvDTE Imports EnvDTE80

    Public Module Module1

    Sub DuplicateLine()
        Dim sel As TextSelection = DTE.ActiveDocument.Selection
        sel.StartOfLine(0) '' move to start
        sel.EndOfLine(True) '' select to end
        Dim line As String = sel.Text
        sel.EndOfLine(False) '' move to end
        sel.Insert(ControlChars.NewLine + line, vsInsertFlags.vsInsertFlagsCollapseToEnd)
    End Sub

    End Module

15voto

ewwink Punkte 17016

In Visual Studio 2017 und vielleicht anderen Versionen Makro oder Erweiterung nicht erforderlich ,

  1. Gehe zu Tools > Options > Environment > Keyboards
  2. Unter Show commands containing: schreiben. Edit.Duplicate
  3. Setzen Sie den Cursor auf Press shortcut keys: und drücken Sie Ctrl + D und klicken Sie Assign bouton
  4. anklicken. OK um Ihr neues Tastaturkürzel zu speichern

enter image description here

11voto

Krzysztof Punkte 15588

Wenn Sie das Duplizieren von Zeilen (oder Blöcken) im Eclipse-Stil mit CTRL + ALT + UP ou CTRL + UP + DOWN Im Folgenden finden Sie Makros für diesen Zweck:

Imports System
Imports EnvDTE
Imports EnvDTE80
Imports System.Diagnostics

Public Module DuplicateLineModule
    Sub DuplicateLineDown()
        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

        lineNumber = selection.TopLine
        line = selection.Text

        selection.MoveToDisplayColumn(selection.BottomLine, 0)
        selection.EndOfLine()
        selection.Insert(vbNewLine & line)
    End Sub
    Sub DuplicateLineUp()
        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

        lineNumber = selection.BottomLine
        line = selection.Text

        selection.MoveToDisplayColumn(selection.BottomLine, 0)
        selection.Insert(vbNewLine & line)
        selection.MoveToDisplayColumn(lineNumber, 0)
    End Sub
End Module

11voto

mghhgm Punkte 1537

Sur Visual-Studio-Code ( WebMatrix ) :

Zeilen nach unten kopieren: Shift + Alt + down

Kopieren Sie die Zeilen nach oben: Shift + Alt + up

Zeilen löschen: Ctrl + Shift + k

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X