Jaki jest odpowiednik ALT + UP / DOWN zaćmienia (linia ruchu) w programie Visual Studio?


104

W Eclipse wybranie linii i naciśnięcie Alt+ / przesunie linię w górę iw dół, co jest szybkim sposobem uniknięcia kopiowania i wklejania. Czy istnieje odpowiednik w programie Visual Studio?


3
Chciałem wiedzieć, jak to zrobić w zaćmieniu, teraz wiem.
Dan

2
Zauważ, że w VS 2013+ ten skrót jest teraz obsługiwany
benscabbia

Odpowiedzi:


141

W programie Visual Studio 2013 i nowszych wersjach ta funkcja jest wbudowana. ALT + W GÓRĘ / W DÓŁ przesuwa wiersz w górę lub w dół.

Jeśli potrzebujesz tej funkcji w VS2012 (działa również z VS2010), zapoznaj się z rozszerzeniem MoveLine Visual Studio lub pakietem Productivity Power Tools .


35
Niewiarygodne, że potrzebujesz do tego wtyczki
void.pointer

co z elementem podrzędnym po wybraniu tagu? na przykład wybrałem znacznik DIV i chcę przesunąć w górę cały element potomny, zamiast wybierać myszą.
Arash

14
Jeśli chcesz go ponownie powiązać, nazwa polecenia to „Edit.MoveSelectedLinesUp” w obszarze Narzędzia> Opcje> Środowisko> Klawiatura.
Joan Charmant

W Ubuntu 16.04 działało po wyjęciu z pudełka! Wielkie dzięki!
James Freitas,

1
@Shimmy, faktycznie masz lepszą opcję z Ctrl + Shift + Alt + klawisze kierunkowe. Możesz go przenieść w dowolne miejsce.
scottheckel

79

Ctrl+ Shift+ Alt+ / / / ReSharper jest jeszcze potężniejsze - na początku linii przesuwa całą linię, ale może być również używany do przenoszenia całych metod, zmiany kolejności parametrów itp.


4
Również nie działa, jeśli R # uważa, że ​​bieżąca linia jest częścią większej konstrukcji. Np. Spróbuj przenieść usinginstrukcję z góry pliku o kilka linii w dół, aby znalazła się wewnątrz namespacedeklaracji. Gdy wiersz zawierający znak usingznajduje się w wierszu poniżej namespacedeklaracji, R # połączy je i następne wywołanie <kbd> Ctrl </kbd> + <kbd> Shift </kbd> + <kbd> Alt </kbd> + <kbd> & darr; </kbd> przeniesie zarówno linię, jak namespacei usinglinię na koniec poprzedniego namespacebloku kodu.
Carl G

1
Wydaje się również, że nie działa przenoszenie linii przez granice metod.
Robin Coe


5

Dla mnie w Visual Studio 2019 jest domyślnie zamknięty.

Aby go otworzyć:

Narzędzia -> Opcje -> Klawiatura, a następnie wybierz Edit.MoveSelectedLinesUp , kliknij przycisk „Naciśnij klawisze skrótu” i naciśnij Alt + Up (lub cokolwiek chcesz). A drugi to Edit.MoveSelectedLinesDown , kliknij "Naciśnij klawisze skrótu" i naciśnij Alt + Down (lub cokolwiek chcesz).


1
Odkryłem również, że nie miały one domyślnego powiązania klawiszy w VS 2019
Andrew W.

3

W programie Visual Studio 2013 i nowszych wersjach można przesuwać wiersze w górę iw dół za pomocą Alt+ / Alt+ . Niestety, nie dostosuje to wcięcia, jeśli będziesz poruszać się między blokami, na dzień dzisiejszy tylko ReSharper (i wszystkie inne IDE autorstwa Jetbrains, w tym Rider) może ci w tym pomóc.

Aby przenieść całe bloki kodu, możesz przesunąć kursor do jego głowy i dwukrotnie szybko nacisnąć Ctrl+, maby go zwinąć, a następnie użyć powyższego polecenia, aby go przesunąć.

Oto zgrabne odniesienie do wszystkich domyślnych skrótów klawiaturowych w różnych wersjach programu Visual Studio.


1

Dzięki rozszerzeniu VSCommands masz dokładnie ten skrót klawiaturowy. A tak przy okazji, pasek narzędzi powiadomień Stack OVerflow :)

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.