Что эквивалентно для 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 2013 так же, как и в Eclipse.

Дреалмер
источник
2
Не совсем то же самое, отступы не исправляются
Sentry
@Sentry ctrl + k, D
Джон Деметриу,
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 :)

eFloh
источник