¿Cuál es el equivalente de ALT + ARRIBA / ABAJO de eclipse (línea de movimiento) en Visual Studio?

104

En Eclipse, seleccionar una línea y presionar Alt+ / moverá la línea hacia arriba y hacia abajo, una forma rápida de evitar copiar y pegar. ¿Existe un equivalente en Visual Studio?

Roberto
fuente
3
Quería saber cómo hacer esto en eclipse, ahora lo sé.
Dan
2
Tenga en cuenta que en VS 2013+ este acceso directo ahora es compatible
benscabbia

Respuestas:

141

En Visual Studio 2013 y versiones posteriores, esta funcionalidad está integrada. ALT + ARRIBA / ABAJO moverá una línea hacia arriba o hacia abajo.

Si necesita esta funcionalidad en VS2012 (también funciona con VS2010), eche un vistazo a MoveLine Visual Studio Extension o la suite Productivity Power Tools .

Kevin Aenmey
fuente
35
Increíble que necesite un complemento para esto
void.pointer
¿Qué tal el elemento hijo cuando selecciona una etiqueta? por ejemplo, he seleccionado una etiqueta div y quiero subir todos los elementos secundarios, en lugar de seleccionar con el mouse.
Arash
14
Si desea volver a vincularlo, el nombre del comando es "Edit.MoveSelectedLinesUp", en Herramientas> Opciones> Entorno> Teclado.
Joan Charmant
¡En Ubuntu 16.04 funcionó fuera de la caja! ¡Muchas gracias!
James Freitas
1
@Shimmy, en realidad tienes una mejor opción con Ctrl + Shift + Alt + teclas de dirección. Puede moverlo a cualquier lugar.
scottheckel
79

Ctrl+ Shift+ Alt+ / / / De ReSharper es aún más poderoso: cuando está al comienzo de la línea, moverá toda la línea, pero también se puede usar para mover métodos completos, cambiar el orden de los parámetros, etc.

Omer Raviv
fuente
4
Tampoco funciona si R # piensa que la línea actual es parte de una construcción más grande. Por ejemplo, intente mover una usingdeclaración desde la parte superior de un archivo unas líneas hacia abajo para que esté dentro de la namespacedeclaración. Cuando la línea que contiene el usingestá en la línea debajo de la namespacedeclaración, R # los combinará y la próxima llamada a <kbd> Ctrl </kbd> + <kbd> Shift </kbd> + <kbd> Alt </kbd> + <kbd> & darr; </kbd> moverá tanto namespacela usinglínea como la línea hasta el final del namespacebloque de código anterior .
Carl G
1
Tampoco parece funcionar para mover líneas a través de los límites del método.
Robin Coe
5

Esto ahora está funcionando de manera inmediata con Visual Studio 2013, de la misma manera que en Eclipse.

Soñador
fuente
2
No es lo mismo, no corrige la sangría
Sentry
@Sentry ctrl + k, D
John Demetriou
5

Para mí, en Visual Studio 2019 viene cerrado por defecto.

Para abrirlo:

Herramientas -> Opciones -> Teclado, luego seleccione Edit.MoveSelectedLinesUp , haga clic en la entrada "Presionar teclas de método abreviado" y presione Alt + Arriba (o lo que desee). Y el otro es Edit.MoveSelectedLinesDown , haga clic en la entrada "Presione las teclas de método abreviado" y presione Alt + Abajo (o lo que desee).

Umut Sun
fuente
1
También descubrí que estos no tenían un enlace de clave predeterminado en VS 2019
Andrew W
3

En Visual Studio 2013 y versiones posteriores, puede mover líneas hacia arriba y hacia abajo usando Alt+ / Alt+ . Desafortunadamente, esto no ajustará la sangría si se mueve entre bloques, a partir de hoy solo ReSharper (y todos los demás IDE de Jetbrains, incluido Rider) pueden ayudarlo con eso.

Para mover bloques enteros de código, puede mover el cursor a su cabeza y presionar Ctrl+ mdos veces rápido para contraerlo, y luego usar el comando de arriba para moverlo.

Aquí hay una clara referencia a todos los atajos de teclado predeterminados en diferentes versiones de Visual Studio.

Andreas Bergström
fuente
1

Con la extensión VSCommands, tiene exactamente ese atajo de teclado. Y, por cierto, una barra de herramientas de notificación de Stack OVerflow :)

eFloh
fuente