Conclusão da instrução
Conclusão da instrução é o processo pelo qual o serviço de linguagem ajuda os usuários a concluir uma palavra-chave de idioma ou o elemento que eles tenham sido iniciados digitando no editor de núcleo. Este tópico discute como a conclusão da instrução funciona e como implementá-lo no seu serviço de linguagem.
Implementando a conclusão da instrução
No editor de núcleo, a conclusão da instrução ativa uma interface de usuário especial que interativamente torna mais fácil e rapidamente escreve código. Conclusão da instrução ajuda exibindo classes ou objetos pertinentes quando forem necessários, que evita você precisar se lembrar de elementos específicos ou precisar procurá-los em um tópico de referência da Ajuda.
Para implementar a conclusão da instrução, o seu idioma deve ter um disparador de conclusão de instrução, que pode ser analisado. Por exemplo, Visual Basic usa um operador ponto (.), enquanto Visual C++ usa uma seta (->) operador. Um serviço de linguagem pode usar mais de um disparador para iniciar a conclusão da instrução. Esses disparadores são programados no filtro de comando.
Filtros de comando e disparadores
Comando filtros interceptam ocorrências do disparador ou disparadores. Para adicionar o filtro de comando no modo de exibição, implementar a IOleCommandTarget interface e anexá-lo no modo de exibição, chamando o AddCommandFilter método. Você pode usar o mesmo filtro de comando (IOleCommandTarget) para todos os aspectos do seu serviço de linguagem, como a conclusão da instrução, marcadores de erro e dicas de método. Para obter mais informações, consulte Interceptar os comandos de serviço de linguagem.
Quando o disparador é inserido no editor — especificamente, o buffer de texto — o serviço de linguagem, em seguida, chama o UpdateCompletionStatus método. Isso faz com que o editor exibir a interface do usuário para que o usuário pode escolher entre os candidatos de conclusão de instrução. Este método requer que você implemente IVsCompletionSet e o UpdateCompletionFlags sinalizadores como parâmetros. A lista de itens de conclusão é exibida em uma caixa de lista de rolagem. Como o usuário continua a digitação, a seleção na caixa de listagem é atualizada para refletir que a correspondência mais próxima aos mais recentes caracteres digitados. O editor de núcleo implementa a interface do usuário para a conclusão da instrução, mas o serviço de linguagem deve implementar a IVsCompletionSet interface para definir um conjunto de itens do candidato a conclusão da instrução.