Visual Studio: Tastenkürzel Taste: Zeile duplizieren

423

Gibt es eine Verknüpfung für den Befehl " Zeile duplizieren" in Visual Studio 2008?

Einige ähnliche Beispiele:

Posto
quelle
6
Nur zur Information, einer der vielen Vorteile von ReSharper ist die Möglichkeit, dies zu tun.
AakashM
2
visualstudiogallery.msdn.microsoft.com/… Laden Sie dies herunter und Alt + D dupliziert Ihre Auswahl. Wenn nichts hervorgehoben ist, wird die gesamte Zeile dupliziert. Leider scheinen visuelle Grundmakros 2013 nicht zu funktionieren, nur js-Makros.
Shenk
1
OMG, was ist das Problem, einer Person eine Kombination zuzuweisen, um eine Zeile zu duplizieren? Ich habe Eclipse verwendet. Und Strg + D dient zum Entfernen von Linien. Warum ist es in VS so kompliziert ???
Andrii Muzychuk
2
@mghhgm unten ist die Antwort, die Sie suchen. (Shift + Alt + Down oder Shift + Alt + Up)
Victor Barrantes
1
Das vim-Beispiel dupliziert nicht, es ist Strg + C; Strg + V. "Yank" schneidet und p klebt. Es ist nicht ganz dasselbe wie bei den anderen Beispielen.
Aneves

Antworten:

406

In Visual Studio 2019

Ctrl + D

In Visual Studio 2017 (Version 15.6 und höher)

Ctrl + D

In Visual Studio 2017 (vor Version 15.6)

(Bearbeiten) Diese Funktion ist jetzt in VS2017 integriert: Ctrl+ E, Vdupliziert eine Zeile, wenn nichts ausgewählt ist, oder dupliziert die Auswahl. Sie können es einer anderen Tastenkombination zuordnen oder im Menü finden:

Doppelte Zeile in VS2017

Weitere Informationen finden Sie in dieser Referenz .

Pre VS2017, integrierte Methode mit Zwischenablage

Wie @cand erwähnt, können Sie einfach Ctrl+ tun C; Ctrl+ V.

Ctrl+ Ckopiert die Zeile, wenn nichts ausgewählt ist.

Makrolösung (vor VS2017)

Wenn Sie eine vollständigere Lösung implementieren möchten, möglicherweise eine einfachere Tastenkombination erstellen möchten oder die Zwischenablage nicht beeinflussen möchten, lesen Sie diese Anleitung:

Befehl für doppelte Zeile für Visual Studio

Visual Basic:

Imports System
Imports EnvDTE
Imports EnvDTE80
Imports System.Diagnostics

Public Module DuplicateLastLineModule
    Sub DuplicateLine()
        Dim line As String
        DTE.ActiveDocument.Selection.StartOfLine(0)
        DTE.ActiveDocument.Selection.EndOfLine(True)
        line = DTE.ActiveDocument.Selection.Text
        DTE.ActiveDocument.Selection.EndOfLine()
        DTE.ActiveDocument.Selection.NewLine()
        DTE.ActiveDocument.Selection.StartOfLine(0)
        DTE.ActiveDocument.Selection.Text = line
    End Sub
End Module

Um das Makro zu erstellen, gehen Sie einfach zum Makro-Explorer ("Extras-> Makros-> Makro-Explorer" oder Alt+ F8) und kopieren Sie den Code und fügen Sie ihn in ein neues Modul ein. Weisen Sie ihm jetzt einfach eine Tastenkombination zu:

  1. Gehen Sie zu Extras-> Optionen ...
  2. Klicken Sie unter Umgebung auf Tastatur
  3. Geben Sie im Textfeld "Befehle mit" anzeigen "" duplizieren "ein (dies entspricht dem Namen, den Sie dem Modul gegeben haben.)
  4. Sie sollten jetzt das Makro in der Liste unten sehen
  5. Wählen Sie "Texteditor" aus der Liste "Neue Verknüpfung verwenden in"
  6. Stellen Sie den Fokus im Textfeld "Tastenkombinationen drücken" ein und drücken Sie die Kombination auf der Tastatur, die Sie dafür verwenden möchten ( Ctrl+ Shift+ Din meinem Fall).
  7. Klicken Sie auf die Schaltfläche "Zuweisen"
  8. Sie sollten nun die Verknüpfung im Textfeld "Verknüpfungen für ausgewählten Befehl" sehen
  9. Drücken Sie die OK-Taste

Und das ist es. Genießen!

Wael Dalloul
quelle
3
Ich habe es gerade versucht, und es ist interessant, dass es einige zusätzliche Zeichen wiederholt, wenn es einen "serverseitigen Codeblock" mit kurzen Tags gibt, wie <div>Profile.UserName: <%=Profile.UserName %></div>folgt : - Nach dem Duplizieren dieser Zeile mit diesem Makro wird es wie folgt : <div>Profile.UserName: <%=Profile.UserName %></div> %></div>. Wie Sie sehen können, wird der letzte Teil "wiederholt". Wenn keine serverseitigen Codeblöcke enthalten sind, funktioniert dies einwandfrei. Kennen Sie eine Problemumgehung dafür? Eine andere interessante Sache, die ich erlebt habe, ist übrigens, dass dieses Makro relativ "langsam" ist, was ich nicht erwartet hatte ... :)
Sk8erPeter
6
Nach Februar 2014 sind Makros aus Sicherheitsgründen deaktiviert. Scrollen Sie nach unten und sehen Sie sich die Antwort von MasterHD für die Problemumgehung an, damit Waels Methode auch nach dem Sicherheitsupdate weiter funktioniert.
MasterHD
4
Ich finde Strg C + Strg V einschränkend in Fällen, in denen ich bereits etwas in die Zwischenablage kopiert habe und vor dem Einfügen eine Zeile duplizieren möchte.
Sawe
1
Warum um alles in der Welt ist es so schwierig , eine doppelte Aktion oder Tastenkombination zu implementieren, die die meisten anderen Editoren sehr effizient und intuitiv ausführen? : /
Kisanme
1
warum es gebraucht wird. Ich habe etw in eine andere Registerkarte kopiert, komme zu einer bestimmten Zeile in dieser Registerkarte, dupliziere die Zeile und verwende dann <code> STRG + V </ code>, um Code einzufügen. Andernfalls muss ich einen anderen Codeteil erneut kopieren. ..
Augustas
136

Es gibt eine kostenlose Erweiterung, die Sie hier herunterladen können , dass Sie doppelte Zeilen ohne Ersetzen der Inhalt der Zwischenablage können.

Standardmäßig ist es an Alt+ gebunden D, aber Sie können es nach Belieben ändern, indem Sie zu Extras-> Optionen-> Umgebung-> Tastatur gehen. Geben Sie "Duplizieren" in das Suchfeld ein, suchen Sie nach "Edit.DuplicateSelection" und bearbeiten Sie die Verknüpfung nach Ihren Wünschen. Ich ziehe Ctrl+ Dmit anderen Editoren in Einklang zu stehen.

Ben
quelle
23
Dies ist die eigentliche Antwort, nach der Sie suchen. Alles andere, was hier gepostet wird, ist klug, aber nicht das, wonach gefragt wurde.
Remco Boom
8
Edit.DuplicateSelectionscheint in VSE 2013 nicht vorhanden zu sein. Oder irgendetwas anderes mit dem Begriff Duplikat in der Tat.
4 ʙᴀᴋᴇʀ
1
visualstudiogallery.msdn.microsoft.com/… funktioniert für vse2013
Anders M.
2
Matthew, du musst auf den HIER-Link klicken und die Erweiterung installieren. DANN müssen Sie das visuelle Studio schließen und es erneut öffnen. DANN müssen Sie zu Extras ==> Optionen ==> Umgebung ==> Tastatur gehen und DANN müssen Sie Duplizieren eingeben und Sie werden es sehen. Dann können Sie F4 drücken, damit es sich wie QEDIT verhält oder was auch immer Sie wollen, und das Leben wird gut.
ggb667
Auch wenn es ein bisschen schmerzhaft ist, ein anderes Tool installieren zu müssen, macht dieses die Arbeit und macht es gut. Vielen Dank !
Sbu
94

Es ist einfach Ctrl+ C; Ctrl+ V, überprüfen Sie diesen Link . Solange Sie keinen Text auswählen, wird die Zeile dupliziert, über der sich der Cursor befindet, wenn Sie Ctrl+ drücken C.

cand
quelle
159
Es gibt zahlreiche Fälle, in denen Sie die Zwischenablage nicht durchgehen möchten, z. B. wenn Sie eine Zeile duplizieren und dann einen Inhalt durch etwas in der Zwischenablage ersetzen möchten.
Effata
7
Sicher, aber die Frage wurde nach einer Verknüpfung gestellt, nicht nach einer allgemeinen Lösung für die Textbearbeitung. Ich denke, dass dies für einfache Zwecke ausreicht (zumindest in meinem Fall).
Cand
4
danke, aber ich hatte so etwas wie Strg + j in Edit Plus oder Crtl + D in Notepad ++ erwartet ... gibt es welche in VS2008 oder in VS2010
Posto
2
Ich habe nur diesen gefunden. Es ist jedoch nicht so schlimm - natürlich wäre es einfacher, Strg + D zu verwenden, aber wenn Sie 1 Zeile in 100 Kopien duplizieren möchten, können Sie dies mit Strg + C tun (ohne etwas auswählen zu müssen, setzen Sie einfach die Eingabeaufforderung über die gewünschte Zeile ) + 100 mal Strg + v. Es ist nur ein Satz von Tastenanschlägen mehr als Strg + D-Lösung. Es kann problematischer sein, wenn Sie eine komplexere Vervielfältigung durchführen möchten.
Cand
@ Mason240 Das war auch meine erste Reaktion auf den zitierten Teil in der akzeptierten Antwort, aber die zusätzlichen Informationen "Solange Sie keinen Text auswählen, dupliziert dies die Zeile, über der sich der Cursor befindet ..." machen dies zu einem Ideal Lösung in meinem Fall.
RyanfaeScotland
74

Ctrl+ C+ VFunktioniert für mich auf VS2012 ohne Erweiterung.

nGoline
quelle
Funktioniert auch auf VS2008!
Teodron
1
Funktioniert in VS2017.
Kyle Delaney
8
Benötigen
Um die Antwort zu ergänzen, müssen Sie nur die vollständige Kombination für die erste Vervielfältigung drücken. Drücken Sie ab der zweiten Taste wiederholt so oft Strg + V, wie Sie benötigen, um die Zeile weiter zu replizieren.
Luty
34

Ctrl+ Darbeitet für mich in VS2012 mit Resharper. Es ist Resharpers Hotkey.

sawe
quelle
11
Nein, es ist nicht, nur das nach dem Posten erkannt, aber es ist eine Resharper-Verknüpfung. und wenn man einen Resharper installiert hat, könnte dies helfen.
Sawe
1
Ich habe Resharper und kannte diese Verknüpfung nicht! Vielen Dank.
DanO
Dies ist die Standardverknüpfung, wenn Sie das Tastaturschema "Resharper 2.x oder IntelliJ IDEA" von Resharper verwenden. Mit Resharper können Sie die Tastaturzuordnung während der Installation auswählen. Das Tastaturschema "Visual Studio" ist eine der Optionen. Wenn Sie das Tastaturschema "Visual Studio" auswählen, wird Strg + D einem anderen Element zugeordnet.
GeoMac
Das ist eine Antwort auf eine ReSharper-Frage.
Antony Booth
Beachten Sie, dass dies auch funktioniert, wenn mehrere Zeilen ausgewählt sind, dh Sie können eine ganze Reihe von Codes duplizieren, nicht nur eine Zeile. Der Nachteil ist natürlich, dass Resharper nicht kostenlos ist (aber anscheinend ist die .Net-Welt daran mehr gewöhnt als die Java-Welt, aus der ich komme).
Amos M. Carpenter
31

In Visual Studio 2013 können Sie verwenden Ctrl+ C+V

Vazgen Torosyan
quelle
2
Ich bin froh, dass ich runter geschlendert bin. Das wollte ich.
Daryl
Arbeitet auch unter VS Code Linux.
Han
4
Benötigen
2
wäre toll, wenn die Zwischenablage nicht überschrieben würde
mikus
23

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

  • etwas kürzer
  • etwas schneller
  • Bemerkungen :)
  • verhält sich für 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
Mark Foreman
quelle
1
Ja, dieser funktioniert tatsächlich. Der in der akzeptierten Antwort kopierte zufällige Inhalte in die neue Zeile. Gute Arbeit, danke!
zuallauz
Ich habe die Option "Makros" in VS 2010 Express nicht gefunden. Kann dies dort implementiert werden?
Nenotlep
1
Nach Februar 2014 sind Makros aus Sicherheitsgründen deaktiviert. Scrollen Sie nach unten und sehen Sie sich die Antwort von MasterHD für die Problemumgehung an, damit Marks Methode auch nach dem Sicherheitsupdate weiter funktioniert.
MasterHD
11

Wenn Sie das Duplizieren von Linien (oder Blöcken) im Eclipse-Stil mit CTRL+ ALT+ UPoder CTRL+ UP+ mögen DOWN, poste ich unten 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
Krzysztof
quelle
10

Warum so viele langwierige Methoden, um etwas so Einfaches zu erreichen? Das Herunterladen und Installieren der Erweiterung von Microsoft dauert weniger als eine Minute. Auf der Seite wird angegeben, dass es standardmäßig an ALT+ Dgebunden wird, aber für mich wird es in Visual Studio Community 2015 ohne Änderungen automatisch an CTRL+ gebunden D.

Hier ist der Link zum Herunterladen der Erweiterung von Microsoft.com.

Daniel
quelle
Die Frage
bezieht sich auf
Es ist zu beachten, dass diese Erweiterung die ausgewählten Zeilen und nicht die Auswahl dupliziert. Aber es ist immer noch nützlich.
Aneves
Dieser ist für mich am nützlichsten, weil ich eine Lösung wollte, die nicht das ersetzt, was ich in der Zwischenablage hatte. Diese Erweiterung ist genau das, wonach ich gesucht habe. Und nach der Erweiterung Autor, dies funktioniert derzeit für Visual Studio 2012, 2013, 2015 und 2017.
Mark
8

Im visuellen Studio-Code ( WebMatrix ):

Zeilen nach unten kopieren: Shift+Alt +down

Kopierreihen: Shift+Alt +up

Zeilen löschen: Ctrl+ Shift+k

mghhgm
quelle
1
Dies ist die bisher beste Antwort. Sie können sogar einen vollständigen Codeblock duplizieren, wenn Sie dies wünschen, indem Sie einfach mehrere Zeilen auswählen. Getestet in Visual Studio Code 1.7.2
Victor Barrantes
7

Obwohl mir klar ist, dass dies keine Tastenkombination ist, dachte ich mir, ich würde dies hinzufügen, da dies nicht die Verwendung der Zwischenablage erfordert und einigen Leuten helfen könnte.

Markieren Sie die Zeile, die Sie duplizieren möchten. Drücken Sie die Strg-Taste, klicken Sie mit der Maus auf den markierten Text und ziehen Sie ihn an die gewünschte Stelle. Der markierte Text wird dupliziert.

Warty
quelle
Erzielt das gleiche Ergebnis mit integrierter Funktionalität! Und die Frage stellte nur eine Verknüpfung - nicht unbedingt eine Tastenkombination! Trotzdem wäre es fantastischer, wenn die Maus nicht beteiligt sein müsste.
DanO
7

Da ich in meinem Visual Studio 2013 keine Makros verwenden kann, habe ich ein Visual Studio-Plugin gefunden (ich verwende es in den Jahren 2012 und 2013). Doppelte Auswahl dupliziert Auswahlen und ganze Zeilen - sie müssen nur teilweise ausgewählt werden. Die Standardverknüpfung ist ALT+ D.

Lebewesen
quelle
5

Ich weiß nicht, ob dies in Visual Studio 2008 vorhanden ist, aber in Visual Studio 2010+ können Sie dies einfach tun, indem Sie:

Wählen Sie nichts aus und drücken Sie dann Ctrl+C und dann (ohne etwas anderes zu tun) Ctrl+V

Alireza Noori
quelle
5

In Visual Studio 2017 und möglicherweise in einer anderen Version ist kein Makro oder keine Erweiterung erforderlich .

  1. Gehe zu Tools > Options > Environment > Keyboards
  2. Unter Show commands containing: schreibenEdit.Duplicate
  3. Setzen Sie den Cursor auf Press shortcut keys:und drücken Sie Ctrl+ Dund klicken SieAssign Schaltfläche
  4. Klicken Sie hier OK, um Ihre neue Tastenkombination zu speichern

Geben Sie hier die Bildbeschreibung ein

ewwink
quelle
4

Ich habe das Makro verwendet, das Wael veröffentlicht hat: Befehl "Zeile duplizieren" für Visual Studio , aber es hat vor einer Woche nicht mehr funktioniert, was ich aufgrund eines Windows-Updates angenommen habe. Und ich hatte Recht, seit Februar 2014 sind Makros in VS2010 (und anscheinend 2008) deaktiviert.

Um dies zu beheben, müssen Sie entweder die Sicherheitsupdates deinstallieren oder eine Codezeile in die Konfigurationsdateien einfügen, wie hier gezeigt .

Auf einem 64-Bit-Windows-Computer lauten die Standardpfade zu diesen Dateien:

  • C:\Program Files (x86)\Common Files\Microsoft Shared\VSA\9.0\VsaEnv\vsaenv10.exe.config
  • C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE\devenv.exe.config

    ...
    <configuration>
        <runtime>
            <AllowDComReflection enabled="true"/>
            ...
    

    Editor Screenshot

Sie MÜSSEN Ihren Texteditor mit Administratorrechten ausführen, sonst funktioniert er nicht! Hoffentlich hilft dies allen anderen, denen plötzlich die Makrofunktionalität entzogen ist.

MasterHD
quelle
4

Für Visual Studio 2012, 2013, 2015, 2017 folgen Sie dem Link und laden Sie die Erweiterung herunter

https://marketplace.visualstudio.com/items?itemName=ctlajoie.DuplicateSelection

Gehen Sie nun zu Extras> Optionen> Tastatur und geben Sie "Duplizieren" in das Suchfeld ein (die vollständige Befehlszeichenfolge lautet "Edit.DuplicateSelection"). Hier können Sie es wie bei jedem anderen Befehl an eine beliebige Verknüpfung binden.

Kalyan Halder Raaz
quelle
3

Setzen Sie einfach Ihre Maus auf die Zeile, um CTRL+ zu kopieren und Canschließend CTRL+ Vin derselben Zeile zu tun . Funktioniert wie Magie :-)

David Constantine
quelle
3

Für diejenigen, die diese Frage nach 2008 noch in Visual Studio sehen, wurde ein echtes Edit.Duplicate hinzugefügt:

  • CTRL+ E,V
  • CTRL+ D(VS 2017 15.6+)
icanfathom
quelle
2

Ctrl+ Dist eine neue Verknüpfung, die in VS 2017 v15.6 eingeführt wurde und genau das zu tun scheint, was Ctrl+ E,V

Strg + D dupliziert die Zeile, in der sich der Cursor befindet, und fügt sie direkt unter der fokussierten Zeile ein. Wenn Sie einen bestimmten Codesatz duplizieren möchten, wählen Sie einfach den Teil des Codes aus, den Sie duplizieren möchten, bevor Sie den Befehl zum Duplizieren von Code aufrufen.

Es hat keine Auswirkungen auf Ihre Zwischenablage

Quelle

Kautsky Lozano
quelle
1
Neuinstallation von VS2017 und VS2019: Strg + D ist standardmäßig nicht Editor.DuplicateLine zugeordnet ...
thomasgalliker
2

Für Visual Studio Code 2019 :

Bearbeiten Sie die Tastenkombinationen im Menü mit: ctrl+k und ctrl+s

Bearbeiten Sie "Zeile nach unten kopieren" ( Shift+ Alt+ DownArrow) in Ihre eigene Verknüpfung.

Sie finden es mit der Befehls-ID: editor.action.copyLinesDownAction

Für mich ist es ctrl+d

Uruca
quelle
1

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

Meine Geschichte: Ich habe in einer neuen Firma angefangen und Visual Studio noch nie benutzt. Eines der ersten Dinge - wie man Zeilen dupliziert. Nach dem Einrichten des Makros sagte mir ReSharper : Möchten Sie meine Verknüpfung ersetzen, die lautete: "Text duplizieren" :)

Mars Robertson
quelle
resharper - sehr langsam
Horev Ivan
1

In Visual Studio 2010 kopieren Sie die gesamte Zeile, auf der sich der Cursor befindet, mit CTRL+ INSERTund können sie dann mit Ctrl+ Voder SHIFT+ INSERTeinfügen.

Crackerjack
quelle
1

VS 2017 sein Ctrl+ Doder Ctrl+ C; Ctrl+ V beide arbeiten für mich.

Danyal Ahmed Chaudhry
quelle
1

Der gewünschte Befehl lautet Edit.Duplicate . Es ist zugeordnet CtrlE, CtrlV. Dadurch wird Ihre Zwischenablage nicht überschrieben.

HaveSpacesuit
quelle
1

Ich verwende den Anwendungslink: AutoHotkey mit dem folgenden Code, der in der CommentDuplikateSaveClipboard.ahkDatei gespeichert ist. Sie können Verknüpfungen bearbeiten / entfernen, es ist einfach.
Ich habe Link zu dieser Datei "Shortcut to CommentDuplikateSaveClipboard.ahk"in Autostartin den Fenstern.
Dieses Skript schützt Ihre Zwischenablage.
Wenn Sie neugieriger sind, würden Sie Verknüpfungen zu diesem Skript hinzufügen / aktivieren.
Ich verwende manchmal ein sehr beeindruckendes Multi ClipboardSkript, um es einfach zu handhaben, wenn viele clipsauf der Festplatte gespeichert sind und mit CTRL+ verwendet werdenC , X, Vzu kopieren, einfügen, ausschneiden, nächste, vorherige, löschen Sie diese, löschen Sie alle.

;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
MrHIDEn
quelle
0

Keine Antwort, nur eine nützliche Ergänzung: Als Werbegeschenk habe ich gerade ein RemoveLineOrBlock-Makro erfunden (na ja ... ähm ... den von Lolo geposteten Code angepasst). Genießen!

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
Peter Perháč
quelle
0

in VS2019 und auch in VS2017 können Sie wählen Extras-> Optionen-> Tastatur und Sie können in dem System Dropdown-wählen ReSharper (Visual Studio) Option, und Sie erhalten eine Zuordnung erhalten wie wenn Sie wurden unter Verwendung von ReSharper , in diesem Fall Ctrl+ Dwird den Trick zum Duplizieren der Zeile tun. Basierend auf der Dokumentation sollte dies in Visual Studio 2017 Version 15.8 oder höher sofort möglich sein

ddieppa
quelle
-3

Verwenden Sie für Visual Studio 2010 diese Befehle für die schnelle Duplizierung von Zeilen (verwendet die Zwischenablage):

  • Klicken Sie auf die Zeile, die Sie kopieren möchten. Ctrl+ Ckopiert diese Zeile.

  • Drücken Sie dann Ctrl+ Shift+Enter , um ein Leerzeichen unterhalb der Einfügemarke einzufügen

    (Alternativ können Sie mit Ctrl+ Entereine Leerzeile über der Einfügemarke einfügen.)

  • Verwenden Sie dann einfach Ctrl+, Vum die Linie einzufügen.

protoss1210
quelle
1
Sehr gute Schritt-für-Schritt-Anleitung zum Kopieren und Einfügen. Aber das OP sucht nach einer Methode, um eine Zeile zu duplizieren ...
ᴍᴀᴛᴛ ʙᴀᴋᴇʀ