Was entspricht ALT + UP / DOWN (Zeile verschieben) von Eclipse in Visual Studio?

104

Wenn Sie in Eclipse eine Linie auswählen und Alt+ / drücken, wird die Linie nach oben und unten verschoben, um das Kopieren und Einfügen schnell zu vermeiden. Gibt es ein Äquivalent in Visual Studio?

Roberto
quelle
3
Ich wollte wissen, wie man das in Eclipse macht, jetzt weiß ich es.
Dan
2
Beachten Sie, dass in VS 2013+ diese Verknüpfung jetzt unterstützt wird
Benscabbia

Antworten:

141

In Visual Studio 2013 und höher ist diese Funktionalität integriert. ALT + AUF / AB bewegt eine Zeile nach oben oder unten.

Wenn Sie diese Funktionalität in VS2012 benötigen (funktioniert auch mit VS2010), sehen Sie sich die MoveLine Visual Studio-Erweiterung oder die Productivity Power Tools- Suite an.

Kevin Aenmey
quelle
35
Unglaublich, dass Sie ein Plugin dafür brauchen
void.pointer
Wie wäre es mit einem untergeordneten Element, wenn Sie ein Tag auswählen? Zum Beispiel habe ich ein div-Tag ausgewählt und möchte alle untergeordneten Elemente nach oben verschieben, anstatt sie mit der Maus auszuwählen.
Arash
14
Wenn Sie es erneut binden möchten, lautet der Name des Befehls "Edit.MoveSelectedLinesUp" unter Extras> Optionen> Umgebung> Tastatur.
Joan Charmant
In Ubuntu hat 16.04 sofort funktioniert! Vielen Dank!
James Freitas
1
@Shimmy Sie haben tatsächlich eine bessere Option mit Strg + Umschalt + Alt + Richtungstasten. Sie können es überall hin verschieben.
Scottheckel
79

Das Ctrl+ Shift+ Alt+ / / / von ReSharper ist noch leistungsfähiger - wenn am Anfang der Zeile die gesamte Zeile verschoben wird, kann es auch verwendet werden, um ganze Methoden zu verschieben, die Reihenfolge der Parameter zu ändern usw.

Omer Raviv
quelle
4
Funktioniert auch nicht, wenn R # glaubt, dass die aktuelle Zeile Teil eines größeren Konstrukts ist. Versuchen Sie beispielsweise, eine usingAnweisung ein paar Zeilen nach unten vom Anfang einer Datei zu verschieben, um in der namespaceDeklaration zu sein. Wenn sich die Zeile mit dem usingin der Zeile unter der namespaceDeklaration befindet, kombiniert R # diese und den nächsten Aufruf von <kbd> Strg </ kbd> + <kbd> Umschalt </ kbd> + <kbd> Alt </ kbd> + <kbd> & darr; </ kbd> verschiebt sowohl die namespaceals auch die usingZeile bis zum Ende des vorherigen namespaceCodeblocks.
Carl G
1
Scheint auch nicht zu funktionieren, um Linien über Methodengrenzen hinweg zu verschieben.
Robin Coe
5

Dies funktioniert jetzt mit Visual Studio 2013 sofort, genau wie in Eclipse.

Drealmer
quelle
2
Nicht ganz das gleiche, es korrigiert nicht die Einrückung
Sentry
@Sentry Strg + K, D
John Demetriou
5

Für mich in Visual Studio 2019 ist es standardmäßig geschlossen.

Zum Öffnen:

Extras -> Optionen -> Tastatur, wählen Sie dann Edit.MoveSelectedLinesUp , klicken Sie auf die Eingabe "Tastenkombinationen drücken" und drücken Sie Alt + Auf (oder was auch immer Sie dafür möchten). Und die andere ist Edit.MoveSelectedLinesDown . Klicken Sie auf die Eingabe "Tastenkombinationen drücken" und drücken Sie Alt + Ab (oder was auch immer Sie dafür möchten).

Umut Sun.
quelle
1
Ich fand auch heraus, dass diese in VS 2019 keine Standardschlüsselbindung hatten
Andrew W
3

In Visual Studio 2013 und höher können Sie Zeilen mit Alt+ / Alt+ nach oben und unten verschieben . Leider wird dadurch die Einrückung nicht angepasst, wenn Sie zwischen Blöcken wechseln. Ab heute kann Ihnen nur ReSharper (und alle anderen IDEs von Jetbrains, einschließlich Rider) dabei helfen.

Um ganze Codeblöcke zu bewegen, können Sie den Cursor auf den Kopf bewegen und zweimal Ctrl+ mschnell drücken , um ihn zu reduzieren. Verwenden Sie dann den obigen Befehl, um ihn zu bewegen.

Hier finden Sie eine übersichtliche Referenz zu allen Standardtastenkürzeln in verschiedenen Versionen von Visual Studio.

Andreas Bergström
quelle
1

Mit der VSCommands-Erweiterung haben Sie genau diese Tastenkombination. Übrigens eine Stack OVerflow-Benachrichtigungssymbolleiste :)

eFloh
quelle