Что эквивалентно для Eclipse ALT + UP / DOWN (перемещение строки) в Visual Studio?


104

В Eclipse выделение строки и нажатие Alt+ / переместит строку вверх и вниз - быстрый способ избежать копирования и вставки. Есть ли эквивалент в Visual Studio?


3
Я хотел знать, как это сделать в eclipse, теперь я знаю.
Дэн

2
Обратите внимание, что в VS 2013+ этот ярлык теперь поддерживается
benscabbia

Ответы:


141

В Visual Studio 2013 и более поздних версиях эта функция встроена. ALT + UP / DOWN перемещает строку вверх или вниз.

Если вам нужна эта функция в VS2012 (работает и с VS2010), обратите внимание на расширение MoveLine Visual Studio или набор инструментов для повышения производительности .


35
Невероятно, что для этого вам нужен плагин
void.pointer

как насчет дочернего элемента при выборе тега? например, я выбрал тег div и хочу переместить вверх весь дочерний элемент вместо выбора мышью.
Arash

14
Если вы хотите повторно привязать его, имя команды - «Edit.MoveSelectedLinesUp» в разделе «Инструменты»> «Параметры»> «Среда»> «Клавиатура».
Джоан Чармант

В Ubuntu 16.04 работает из коробки! Большое спасибо!
Джеймс Фрейтас

1
@Shimmy, у вас действительно есть лучший вариант с клавишами Ctrl + Shift + Alt + Direction. Вы можете переместить его куда угодно.
scottheckel

79

ReSharper Ctrl+ Shift+ Alt+ / / / еще более мощен - когда он находится в начале строки, он перемещает всю строку, но также может использоваться для перемещения целых методов, изменения порядка параметров и т. Д.


4
Также не работает, если R # считает, что текущая строка является частью более крупной конструкции. Например, попробуйте переместить usingоператор из верхней части файла на несколько строк вниз, чтобы он оказался внутри namespaceобъявления. Когда строка, содержащая символ, usingнаходится в строке под namespaceобъявлением, R # объединит их, а следующий вызов - <kbd> Ctrl </kbd> + <kbd> Shift </kbd> + <kbd> Alt </kbd> + <kbd> & darr; </kbd> переместит namespaceи usingстроку, и строку до конца предыдущего namespaceблока кода.
Carl G

1
Также, похоже, не работает перемещение строк через границы метода.
Робин Коу,


5

Для меня в Visual Studio 2019 он по умолчанию закрыт.

Чтобы открыть его:

Инструменты -> Параметры -> Клавиатура, затем выберите Edit.MoveSelectedLinesUp , нажмите « Нажимать сочетания клавиш» и нажмите Alt + Up (или что угодно для этого). А другой - Edit.MoveSelectedLinesDown , нажмите « Нажимать сочетания клавиш» и нажмите Alt + Down (или что угодно для этого).


1
Я также обнаружил, что у них не было привязки клавиш по умолчанию в VS 2019
Эндрю В.

3

В Visual Studio 2013 и более поздних версиях вы можете перемещать строки вверх и вниз с помощью Alt+ / Alt+ . К сожалению, это не изменит отступ, если вы перемещаетесь между блоками, на сегодняшний день только ReSharper (и все другие IDE от Jetbrains, включая Rider) могут помочь вам в этом.

Чтобы перемещать целые блоки кода, вы можете переместить курсор к его голове и дважды быстро нажать Ctrl+, mчтобы свернуть его, а затем использовать команду выше, чтобы переместить его.

Вот изящная ссылка на все сочетания клавиш по умолчанию в разных версиях Visual Studio.


1

С расширением VSCommands у вас есть именно такое сочетание клавиш. И, кстати, панель уведомлений Stack OVerflow :)

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.