intellisense

toc =IntelliSense=

1. Introdução
O **IntelliSense** é uma forma automática de auto completação de texto e ao mesmo tempo serve de fonte de documentação dos dados através do fornecimento de metadata associada. Foi usada pela primeira vez, pela Microsoft em 1996, no [|Visual Basic 5.0 Control Creation Edition]. Desde então tem sido usado em todas as versões do IDE como também na maior parte dos ambientes de desenvolvimentos.

2. Objectivos
São vários:


 * Acelerar o desenvolvimento de código ao reduzir a quantidade necessária de input's do teclado;
 * Diminuir a necessidade de acesso a referência a documentação externa;
 * Minimizar a digitação de erros.

3. O IntelliSense no VS 2005
O mecanismo IntelliSense vem recheado de novas funcionalidades na nova versão do VS. Mesmo no que respeita aos projectos para Smart Devices, possuidores dum ambiente mais restrito, a quantidade de funcionalidades é imensa. Segue uma enumeração com algumas delas:

3.1 Funcionalidades IntelliSense
O acesso ao IntelliSense pode ser feito via menu principal através da selecção da opção __**Edit -> IntelliSense**__.


 * **List Members** (Ctrl + J): permite o aparecimento de menu descendente com o conjunto de membros possível dentro do actual contexto;


 * Lista os membros da classe ola**

(divide-se em comuns e all, onde all lista os membros herdados do System.Object - classe mãe)


 * **Parameter Info** (Ctrl + Shift + I): permite o aparecimento de lembrete com informação sobre os parâmetros de determinado método (tipo de parâmetros e a sua descrição, sobrecarga com navegação através das teclas do cursor, etc.);


 * **QuickInfo** (Ctrl + I): permite obter informação através dum lembrete (caixa amarela) sobre o elemento onde o cursor estiver colocado;


 * **Complete Word** (Alt + -> ou Ctrl + Space): permite auto completar uma palavra se o prefixo inserido tem apenas uma ocorrência no actual contexto. Em caso de mais ocorrências surge menu descendente com lista de elementos cujo prefixo seja igual. Permite a pesquisa incremental através da digitação de letras de forma sistemática.


 * **Insert Snippet** (discutido no capítulo seguinte).

3.2 Code Snippets

 * **Insert Snippet** (Ctrl + K + X ou botão direito -> Insert Snippet ou ? + TAB): São fragmentos de código que são compostos por código pré formatado e válido. A catalogação dos blocos de código permite uma maior organização aquando da inserção do bloco de código. Aquando da inserção de um Code Snippet surge o Code Snippet Inserter que permite navegar através da estrutura de pastas de fragmentos para seleccionar o bloco de código desejado. São exibidos tooltips (lembretes) ao lado do fragmento actualmente seleccionado, para fornecer uma descrição e o atalho do mesmo.


 * Snippets categorizados (via teclado: TAB ou ENTER para avançar)**


 * Inserção de bloco de código**

Para fazer a gestão dos Code Snippets aceda à opção do menu principal **Tools -> Code Snippets Manager**.



Para fazer a gestão dos Code Snippets aceda à opção do menu principal **Tools -> Code Snippets Manager**.