PowerToys – Eventos de VS2005

Hace ya un tiempo que en ratos libres he estado buscando algún tipo de programa o add-in para el Visual Studio que me notifique cuando se terminó de compilar un proyecto o la solución, para así en el tantísimo tiempo que se toma el VS en compilar (en un proyecto grande) puedo hacer otras cosas (denominado generalmente “boludeo”).

He encontrado un PowerToy (o Enhancement) de Microsoft.

La página principal de referencia es:
http://msdn2.microsoft.com/en-us/vs2005/bb190754.aspx

Y la página de descarga es:
http://www.microsoft.com/downloads/details.aspx?FamilyID=cd7c6e48-e41b-48e3-881e-a0e6e97f9534&DisplayLang=en

Las mejoras que nos provee esta utilidad son varias, ya que el paquete incluye 3 utilidades:

  1. Source Code Outliner: una interesante utilidad que nos muestra una ventana con los métodos, propiedades y eventos que existen en el documento actual. Nos permite tener una vista y un acceso rápido del código del documento.
  2. Visual C++ Code Snippets: Permite trabajar en C++ con los Snippets. Ya que los snippets pueden ser usados solo en C# y VB.Net.
  3. Indexed Find: Realiza una búsqueda indexada usando el Microsoft Indexing Service, envia los resultados por la ventana de output.
  4. Super Diff Utility: Nos permite comparar 2 archivos, mostrando sus diferencias.
  5. Event Toaster Utility: Este es el que buscaba, permite ejecutar comandos o mostrar mensajes como tooltip en la barra tray cuando ocurre algún evento, como ser la compilación finalizada.

Para utilizar el “Event toaster utility” debemos hacer lo siguiente:

Una vez instalado, yendo a Tools -> Options vemos la pantalla:

Una vez ahí podemos configurar como queremos el PowerToy de Built-Int toasts.

Uno de los resultados de la configuración es:


YUPI!

Shortcuts de Microsoft Visual Studio .Net…

Les dejo un link a una página que encontré hace un tiempo, la misma contiene los shortcuts que posee el VS.

http://www.codinghorror.com/blog/files/Visual%20Studio%20.NET%202005%20Keyboard%20Shortcuts.htm

De más está comentar las ventajas de conocer los atajos.

Nombro algunos pocos atajos que me parecieron útiles:

  • DataSet:
    • ctrl + l: para agregar una nueva columna. Especialmente útil cuando tenemos una granmn cantidad de columnas a agregar.
  • Globales:
    • ctrl + shift + f: abre la búsqueda en archivos. Esta búsqueda es la que yo más utilizo, debido a que busca a gran velocidad ya sea en el documento, en el proyecto e incluso en la solución.
    • F4: muestra la ventana de propiedades.
    • F12: “Go to definitions”. Va a la definición del método, propiedad o atributo sobre el que estamos situados.
    • F5: compilar y comenzar a Debuguear. (ctrl + F5: comenzar a Debuguear sin compilar)
    • F6: compilar la solución. (shift + F6: compilar el proyecto actual).
    • F7: estando situados en “Solution explorer”, en una clase en particular o control, presionando esta tecla entramos a ver el código del mismo.
    • F9: Agregar/quitar breakpoint.
    • ctrl + b, t: Agregar/quitar un bookmark sobre la línea en la que estamos situados.
    • ctrl + m, ctrl + o: Colapsa todas las definiciones.
    • ctrl + m, ctrl + m: Colapsa la definición sobre la línea en la que estamos situados.

Algunos tips de VS.NET y C# [Parte 1]

IDE a pantalla completa:
Si queremos un mayor espacio para nuestro IDE presionando shift + alt + enter podemos hacer que tome la pantalla completa.
Pegar texto almacenados en el portapapeles:
Visual Studio mantiene el texto copiado y cortado en un portapapeles. Si usamos ctrl + v se pega el último texto copiado, pero si mantenemos presionado ctrl + shift y presionamos v una y otra vez se nos aparecen los textos que estan almacenados en el portapapeles.
Búsqueda incremental:
Se puede realizar una búsqueda incremental si presionamos ctrl + i, luego comenzamos a escribir el texto que buscamos y si queremos salir de la búsqueda sólo necesitamos presionar esc. Si el cursor está en un resultado, para saltar al próximo solo debemos presionar ctrl + i nuevamente. Para saltar al resultado anterior debemos presionar ctrl + shift + i.
Auto-completar:
Mientras estamos escribiendo código VS y su intellisense nos ayuda a auto-completar el nombre de la palabra que estamos escribiendo si presionamos ctrl + barra espaciadora o alt+flecha derecha. Si existe más de una concordancia nos arrojará el listado con las posibilidades (este es el listado al que se puede acceder presionando ctrl + j.
Organización de soluciones:
Si la solución sobre la que se trabaja tiene una gran cantidad de proyectos o simplemente por el hecho de organizar las distintas capas, es recomendable utilizar lo que se denomina “Solution Folders”. Estas son carpetas que nos ayudan a agrupar proyectos con características en común. Estas carpetas se agregan haciendo click derecho en la solución-> Add->New Solution Folder. Una implementación sería crear una carpeta para cada capa Acceso a datos, Negocio y Presentación. Generar solution folders es una práctica muy muy común y muy utilizada en todos los proyectos. Por ejemplo la solución donde trabajo tiene 110 proyectos, si todos ellos colgaran de la Solución, sería prácticamente imposible encontrar un proyecto en particular. Por esto y muchas cosas más yo le digo “Gracias Solution Folders!!!”.
Mostrar excepciones donde ocurren:
Si queremos que se muestre (o no) en modo Debug las excepciones donde ocurren, más allá de si hay un try{}catch{} que lo capture, hay que ir a Debug -> Exceptions (ctrl + D, E) y checkear o descheckear la opción Common Language Runtime Exceptions en la columna Thrown.
Operador ?? (no muy conocido):
El operador ?? se aplica sobre variables “nullables”, permitiendo una menor escritura de código y se aplica del siguiente modo :
Int32? x;

Int32 i = x ?? 0;

el código mencionado lo que hace es, si la variable a la izquierda del operador ?? es nulo devuelve la variable de la derecha, en el caso de que la variable de la izquierda no sea nulo devuelve dicha variable.
Esto también puede aplicarse a por ejemplo:
String texto = null;

String salida = salida ?? “No especificado”;

Esta es la primer parte de los tips que he ido recolectando, próximamente habrá mas posteos, pero si quieren compartir alguno haganlo como comentarios! Serán bienvenidos.