Atajos de teclado en VS 2005
Aquellos que hayan intentado en algún momento grabar una macro con VS 2003 habrán notado luego que es muy difícil poder asignarle un atajo de teclado (shortcut), casi todas las combinaciones de tecla están ocupadas.
Con VS 2005 la cosa se volvió aún más complicada, y sin bien ya no utilizaremos tantas macros gracias a la aparición de los Code Snippet, con tanta funcionalidad nueva que incorpora la IDE era de esperarse que aparecieran "ocupadas" más combinaciones de tecla (ya veremos lo que nos depara VS2008).
Por esta cuestión de los tiempos modernos, donde justamente uno no tiene tiempo más que para producir, muchas veces no nos tomamos un segundo para estudiar la herramienta con la que pasamos la mayor parte del día, y eso fue lo que hice, me puse a mirar por qué tanta combinación de tecla.
Me aprendí unas cuantas que me permitieron escribir código mucho más rápido que antes y mejorar mucho la productividad.
Quiero compartir las que me parecieron más útiles con 10 ejemplos concretos:
Caso 1: Iniciamos un nuevo proyecto, agregamos algunas carpetas por aquí, algunas clases por allá, las referencias a las dll necesarias, empezamos a escribir las primeras líneas y zás, no tenemos Intellisense porque hemos olvidado alguna sentencia Using al principio.
Solución: Si conocemos el nombre exacto de la clase, lo escribimos tal cual, aparece el subrayado típico de los "smart tags" de Office sobre la última letra, presionamos "Ctrl + punto" (o "Shift+Alt+F10") se abre el smart tag, le damos Enter y automáticamente se habrá agregado la sentencia Using.
Caso 2: Estamos declarando una variable dentro de un método, nos damos cuenta que nos conviene declararla como campo privado de la clase en la que estamos y nos gusta declararlas al principio de ésta.
Solución: Los "bookmarks". Presionamos "Ctrl + K" dos veces y dejaremos una marca en la línea en la que estamos, luego "Ctrl + Home" para ir al principio, declaramos la variable y luego presionando "Ctrl+K, Ctrl+N" iremos a parar al lugar donde habíamos puesto la marca.
Caso 3: Estamos escribiendo el código de un método, se está volviendo un poco largo y nos gustaría refactorizar para mejorar la legibilidad y aumentar la reutilización.
Solución: Seleccionamos la porción de código que enviaremos a otro método, presionamos "Ctrl+R, Ctrl+M", se mostrará el cuadro de diálogo de Refactoring pidiendo el nombre del nuevo método, ingresamos, damos Enter y listo.
Caso 4: ¿Quién eligió ese nombre para esa variable/propiedad/método?.
Solución: Renombremos. "F2" sobre el nombre de la variable, propiedad o método, Refactoring nos va a pedir el nuevo nombre, Enter y se acabó.
Caso 5: No me gusta como está programado este método, pero no tengo demasiada idea del impacto que ocasionará si meto mano sin buscar.
Solución: "Shif+F12" sobre el nombre del método y aparecerá la ventanas con todas las referencias a ese método, inclusive la declaración en una Interfaz si fuera el caso. Si hacemos doble click en alguna de esas referencias iremos a parar directamente al código que invoca a nuestro método. Si damos "F12" sobre esa invocación volveremos al código del método en cuestión.
Caso 6: Quiero ejecutar una prueba sin que se ejecute toda esta porción de código.
Solución: Seleccionamos las líneas necesarias, presionamos "Ctrl+K, Ctrl+C" y las líneas se comentarán automáticamente (con "Ctrl+K, Ctrl+U" se descomentan). ¡Atención! ¡Sirve también para código HTML y XML!
Caso 7: Las regiones dejan mucho el código de una clase mucho más prolijo, pero si estamos en una clase grande, buscando algo y no sabemos bien qué, nos la pasaremos expandiendo y colapsando regiones.
Solución: "Ctrl+M, Ctrl+M", para expandir, y nuevamente la misma combinación para colapsar.
Caso 8: Seguimos buscando algo en el código, pero vagamente recuerdo como comienza
Solución: "Ctrl+I" realiza una búsqueda incremental hacia adelante en el código "pintando" la palabra (o parte de esta) que vayamos tipiando. No aparecen ventanas emergentes ni cuadros de diálogo, la búsqueda es en tiempo real sobre el código a medida que se tipea. Si en algún momento completamos la frase a buscar, podemos seguir buscando más apariciones de ese texto con "F3"
Caso 9: Hay infinidad de documentos abiertos en la IDE, no encuentro el que necesito
Solución: En realidad dos, con "Ctrl+TAB" podemos ir pasando de un documento a otro. Si mantenemos presionada la tecla "Ctrl" mientra presionamos sucesivamente "TAB", veremos una ventanita similar a la que aparece cuando presionamos "Alt+TAB" para cambiar de aplicación en Windows. La otra solución es presionando "Ctrl+Alt+Flecha abajo", con esto se desplegará en el borde superior derecho del editor de código una lista de los documentos abiertos.
Caso 10: Toqué código en demasiados lugares de este documento, ¿en qué lugar estaba antes de comenzar?
Solución: Con "Ctrl+- (Ctrl-menos)" iremos "navegando" hacia atrás por todos los lugares donde pasamos.
Estas combinaciones son solamente las que me parecieron menos conocidas por la mayoría de los desarrolladores y que realmente me permitieron escribir código más eficientemente.
Aquí les dejo una lista recopilada de Internet con muchos más atajos, en una planilla Excel, agrupados en solapas según a que parte de la IDE apliquen, pero ojo, a no confundirse por el tamaño, aunque no lo crean, no están todas.
¡Saludos!