keyboard-shortcuts - teclado - visual studio keyboard shortcuts
Mover el atajo ascendente/descendente de la lĂnea en Visual Studio 2012 (9)
En Visual Studio 2017 (al menos) tengo a continuación
En VS2010 tenía un acceso directo configurado Alt + Arriba / Abajo para mover líneas de código hacia arriba o hacia abajo, como solía tener en Eclipse en mis días de Java.
Ahora, dado que Power Tools y las macros (que es la forma en que configuro este atajo en VS2010) no están disponibles en VS2012, ¿cómo hago para que funcione?
He visto a alguien mencionar que Resharper puede hacer esto, pero por amor al fuego y al agua, no puedo encontrar los nombres de los comandos en la lista de comandos que pueden hacer eso. He intentado ReSharper_MoveUp / MoveDown y eso no mueve las líneas arriba / abajo:
Esto mueve bloques de texto hacia arriba y hacia abajo. Solo quiero que línea por línea suba o baje, sin lógica extravagante. antes de
Después de ALT + Arriba (cuando el cursor está en la línea WriteLine) me gustaría ver esto:
He visto estos hilos: ¿Cuál es el equivalente para ALT + UP / DOWN de eclipse (línea de movimiento) en Visual Studio? , Visual Studio: Teclas de acceso rápido para mover la línea hacia arriba / abajo y moverse a través de los cambios recientes , pero ninguna de las soluciones sugeridas funciona en VS2012.
¿Alguna otra idea?
UPD 7 de noviembre de 2012:. Las extensiones se están poniendo al día con Visual Studio 2012. Ahora sé al menos 3 extensiones que proporcionan esta funcionalidad:
- Extensión MoveLine . Enlace provisto por Carl G
- Mover la extensión de línea con modificaciones a la versión 2010. Por gius
- Productivity Power Tools 2012 . En realidad, no lo he intentado, pero esta entrada de blog dice que hace que la línea se mueva hacia arriba / abajo
UPD 15 nov 2012: Acabo de tropezar con otra extensión que dice que hace lo que se requiere aquí. No lo he probado: LineMan Extension
UPD 10 de mayo de 2015 Acaba de instalar VS2015 RC y esto ya está incorporado:
Instala ReSharper.
Abra Herramientas -> Opciones -> Entorno -> Teclado (como se muestra en una imagen)
- Encuentra "ReSharper.ReSharper_MoveUp"
- En "Usar un nuevo atajo en:" elija: "Editor de texto"
- Haga clic en "Presione teclas de acceso directo:" y presione su atajo (por ejemplo Alt + flecha hacia arriba)
- Presione el botón "Asignar" Lo mismo con "ReSharper.ReSharper_MoveDown"
PS Funciona bien para líneas simples y múltiples líneas seleccionadas, pero elimina la selección una vez movida 1 línea. Espero que haya forma de mover múltiples líneas varias veces en una sola selección.
Los métodos abreviados de ReSharper para moverse hacia arriba y hacia abajo son inteligentes: en lugar de mover la línea actual (lo que puede dar como resultado código roto), moverá la instrucción actual hacia arriba y hacia abajo en la lista de instrucciones que componen el cuerpo del método. Esto es mucho más poderoso que simplemente mover una sola línea de código.
Pero esto no lo ayuda a obtener su estado de cuenta dentro del bloque if
. Aquí tienes que hacer una de dos cosas.
En primer lugar, mueva la instrucción por encima del bloque if
, luego use Ctrl + Shift + Alt + Derecha para empujar hacia abajo en el alcance. La instrucción ahora estará dentro del bloque if
, y puede usar arriba y abajo para moverlo allí. También puede usar Ctrl + Mayús + Alt + Izquierda para desplegarlo en el alcance, fuera del bloque if
.
De forma alternativa, puede colocar el cursor de texto en el exterior del corchete de cierre del bloque if
y usar Ctrl + Shift + Alt + Abajo para mover el corsé hacia abajo, pasando por encima de las siguientes afirmaciones, incluyéndolas dentro del bloque if
.
Estas claves pueden hacer mucho más que solo mover una sola instrucción. Si coloca el cursor de texto en un método o declaración de clase, Arriba y Abajo moverán el método completo o la declaración de clase hacia arriba y hacia abajo. Si coloca el texto "caret" en la lista de parámetros de un método, Left and Right reorganizará los parámetros individuales (y luego Alt + Enter puede invocar la refactorización "Change Signature").
Más detalles en las páginas de ayuda .
Mientras que mucha gente parece recomendar misc. Extensiones de Visual Studio y Resharper, me gustaría señalar que hay una tecla de acceso nativo que logra este objetivo. Llegué a esta pregunta tratando de encontrar la respuesta, ya que mi Resharper reemplazó mis teclas rápidas predeterminadas con sus versiones MoveUp y MoveDown.
Y aunque las teclas de acceso rápido de Resharper mueven las cosas hacia arriba y hacia abajo, no son lo que buscan los carteles originales, y no son lo que yo quería. Estas teclas rápidas mueven métodos y bloques de código, no líneas individuales.
Visual Studio tiene dos comandos de tecla de acceso rápido para mover las líneas seleccionadas hacia arriba o hacia abajo. Estas teclas de acceso rápido son:
- Edit.MoveSelectedLinesDown
- Edit.MoveSelectedLinesUp
Estoy usando Visual Studio 2013, sin embargo, no estoy al tanto si existen en una versión anterior. Si 2012 no tiene estas teclas de acceso rápido, tal vez una extensión sea la única solución.
De cualquier manera, tuve un problema al ubicar la tecla de acceso directo exacta dentro de la lista de Visual Studio y me llevó un buen rato encontrarlos, por lo que espero que mi solución logre ayudar a alguien más en una situación similar a la mía.
Para aquellos que llegaron a esta pregunta usando Visual Studio 2013 (o superior, me imagino), la función está integrada en el programa. Simplemente use Alt Alt y Alt Abajo para mover la línea con el cursor, o las líneas seleccionadas, arriba y abajo.
Si desea volver a vincularlo en Herramientas > Opciones > Entorno > Teclado , las teclas son Edit.MoveSelectedLinesUp
y Edit.MoveSelectedLinesDown
. Es posible que deba eliminar su nueva combinación de otras claves existentes primero.
Puede usar la extensión Move Line Command .
Solo sigue el comentario de formula349:
Pude hacer que esto funcionara en 2012 tal como está.
Cambie el nombre del paquete a .zip y descomprima todos los archivos en una carpeta. Edite el archivo extension.vsixmanifest y busque el nodo XML SupportedProducts. Cambia la versión = "10.0" a la versión = "11.0".
Vuelva a comprimir el contenido de la carpeta y cambie el nombre a .vsix. ¡Funciona genial!
Si tiene Resharper, puede presionar Ctrl + Shift + Alt + ↑ para mover la línea actual hacia arriba. o Ctrl + Shift + Alt + ↓ para mover una línea hacia abajo.
Esto funciona en VS 2012 Premium con el esquema de teclado de Visual Studio en Resharper 7 (7.0.97.60 para ser precisos).
Editar: Esto se asigna a los comandos ''ReSharper.ReSharper_MoveUp'' / ''MoveDown''.
Shift + Supr y luego Ctrl + V
Shift + Del hace la operación de corte (igual que Ctrl + X ) en la línea actual en la que se posiciona el cursor.
Luego puede usar Ctrl + V para pegarlo en el lugar que desee.
Lo bueno es que no necesita seleccionar la línea actual completa , solo el cursor necesita colocarse en la línea.
Una desventaja del uso de este atajo es que no podrás ver la línea moviéndose (hacia arriba o hacia abajo) animada frente a tus ojos.
Actualización: huzzah, Productivity PowerTools VS2012 ya está disponible y ofrece esta funcionalidad (junto con otra favorita, Tools.AddEndTokenAtTheEnd
).
MoveLine Extension (compatible con VS 2012; tuve que reiniciar manualmente mi VS para ver los comandos en la herramienta de acceso directo de teclado de VS).