Mejoras del Intellisense de VS 2010

Este es el décimo post de una serie que estoy escribiendo sobre las próximas versiones de Vs 2010 y NET 4.

En el post de hoy veremos algunas pequeñas pero impresionantes mejoras en el intellisense de VS 2010 – como la habilidad de filtrar tipos y miembros en el desplegable que sale ofreciéndonos las posibilidades para terminar el código. Esto nos permite encontrar y usar las APIs más rápidamente mientras escribimos código.

Intellisense en VS 2008

Para ilustar las mejoras del intellisense de VS 2010 empezaremos con un escenario simple en VS 2008 en el que queremos escribir algún código para habilitar el escenario de edición en un control GridView

Deberíamos empezar escribiendo “GridView1.Edit” para que aparezca el intellisense para ver los miembros disponibles de la propiedad Edit del control. Con esto VS 2008 nos muestra el desplegable del intellisense y lo filtra mostrándonos todo lo que comienza con la palabra “Edit”:

Esto está muy bien si el método/propiedad/evento que buscamos comienza por “Edit” – pero no nos ayuda si el miembro “Edit” que estamos buscando empieza de otra manera (por ejemplo: el evento “RowEditing” o el método “SetEditRow()”. Tenemos que hacer scroll manual para buscarlo o ir a la ayuda para encontrarlo.

Code Intellisense en VS 2010

Ahora veamos el mismo escenario con VS 2010. Cuando escribimos “GridView1.Edit” en VS 2010 veremos que la propiedad EditIndex sigue destacandose. Pero el intellisense también se filtra para que podeamos localizar todos los demás miembros que contiene la palabra “Edit” en cualquier posición:

Esto nos permite ver rápidamente todos los métodos/propiedades/eventos relacionados con “edit”.

Buscando palabras clave (keywords)

Esta nueva característica de filtrado de VS 2010 es útil para buscar cualquer miembro –  independientemente de si empieza por ella o no. Por ejemplo, si queremos habilitar el paginado en un datagrid y no recordamos cómo se hace, podríamos escribir “GridView1.Paging” y veremos todos los miembros que contienen la palabra pagin. Fijáos que ningún miembro de la clase GridView comienza por “Paging” – pero encontramos los dos miembros que contienen “paging” en sus nombres:

Buscando tipos:

Esta característica también es útil para encontrar clases y tipos rápidamente. Por ejemplo, cuando escribimos “list” para declarar una variable, el editor no filtrará todos los tipos que contienen la palabra “List” en ellos (incluyendo IList<> y SortedList<> – que no empiezan por List):

Esto hace mucho más fácil encontrar tipos que no podemos recordar completamente – sin tener que navegar por el navegador de objetos ni usar la ayuda.

Intellisense en formato Pascal

Las reglas de nombrado del .NET Framework especifican que los nombres de  tipos y miembros deben usar la notación Pascal por defecto. ESto significa que cada palabra de un tipo o miembro debe comenzar por una letra en mayúsculas (por ejemplo: PageIndexChanged).

El filtrado del intellisense de VS 2010 se aprovecha de esta característica para encontrar y filtrar métodos basados en ese patrón de nombrado. Por ejemplo, si escribimos “GridView1.PIC” VS 2010 nos mostrará los miembros que contengan PIC en su nombre, y también mostrará aquellos miembros que usen la notación pascal y cuyas palabras comienzen por esas letras:

Fijáos cómo escribir PIC hace que aparezcan los eventos “PageIndexChanged” y “PageIndexChanging”. Esto nos evita algunas pulsaciones de teclas.

Resumen

Creo que encontraréis estas mejoras bastante útiles mientras escribis código. Podemos aprovechar estas características tanto en VB como en C#.

Espero que sirva.

Scott

P.D.: he estado usando Twitter más reciente mente para hacer post rápidos y compartir enlaces. Podéis seguirme en Twitter en http://www.twitter.com/scottgu (@scottgu es nombre en twitter).

Traducido por: Juan María Laó Ramos

Artículo original.

0 comentarios sobre “Mejoras del Intellisense de VS 2010”

Responder a Nicoals Cancelar respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *