Partilhar via


Dica de ferramenta de informações de parâmetro

A dica de ferramenta informações do parâmetro IntelliSense fornece aos usuários as dicas sobre onde eles estão em uma construção de linguagem.

Como funciona a dica de ferramenta de informações de parâmetro

Quando você digita uma instrução no editor, o VSPackage exibe uma janela de dica de ferramenta pequena que contém a definição da linha sendo digitada. Por exemplo, se você digitar uma instrução Microsoft Foundation Classes (MFC) (como pMainFrame ->UpdateWindow) e pressione o parêntese de abertura da chave para começar a listagem de uma dica de método aparece, exibindo a definição de parâmetros, o UpdateWindow método.

Dica de ferramenta de informações de parâmetro é geralmente usadas em conjunto com a conclusão da instrução. Eles são mais úteis para idiomas que têm parâmetros ou outras informações formatadas após o nome do método ou a palavra-chave.

As dicas de ferramentas de informações de parâmetro são iniciadas pelo serviço de linguagem, por meio da interceptação de comando. Para interceptar os caracteres do usuário, o seu objeto de serviço de linguagem deve implementar a IOleCommandTarget interface e passa o modo de exibição de texto um ponteiro para seu IOleCommandTarget implementação, chamando o AddCommandFilter método na IVsTextView interface. O filtro de comando intercepta os comandos que você digitar na janela de código. Monitore as informações de comando para saber quando exibir informações de parâmetro para o usuário. Você pode usar o mesmo filtro de comando para a conclusão da instrução, marcadores de erro e assim por diante.

Quando você digita uma palavra-chave para o qual o serviço de idioma pode fornecer indicações, em seguida, o idioma serviço cria um IVsMethodTipWindow objeto e chama o UpdateTipWindow método na IVsTextView interface para notificar o IDE para exibir uma dica. Criar o IVsMethodTipWindow de objeto usando VSLocalCreateInstance e especificando o coclass CLSID_VsMethodTipWindow. VsLocalCreateInstanceé uma função definida no vsdoc.h de arquivo de cabeçalho que chama QueryService para o registro local e chamadas CreateInstance neste objeto para o CLSID_VsMethodTipWindow.

Fornecendo uma dica de método

Para fornecer uma dica de método, chame o SetMethodData método na IVsMethodTipWindow interface, passando a ele sua implementação da IVsMethodData interface.

Quando o IVsMethodData classe é invocado, seus métodos são chamados na seguinte ordem:

  • GetContextStream

    Retorna a posição e o comprimento dos dados relevantes no buffer de texto atual. Isso instrui o IDE não ocultar esses dados com a janela de dica de ferramenta.

  • GetCurMethod

    Retorna o número de método (índice baseado em zero) a ser exibido inicialmente. Por exemplo, se você retornar zero, o primeiro método sobrecarregado inicialmente é apresentado.

  • GetOverloadCount

    Retorna o número de métodos sobrecarregados que são aplicáveis no contexto atual. Se você retornar um valor maior que 1 para este método, em seguida, o modo de exibição de texto exibe as setas para cima e para baixo para você. Se você clicar na seta para baixo, o IDE chama o NextMethod método. Se você clicar na seta para cima, o IDE chama o PrevMethod método.

  • GetMethodText

    O texto da dica de ferramenta informações do parâmetro é construído durante várias chamadas para o GetMethodText e GetParameterText métodos.

  • GetParameterCount

    Retorna o número de parâmetros para exibir no método.

  • GetParameterText

    Se você retornar um número de método correspondente com a sobrecarga que você deseja exibir, este método é chamado, seguido por uma chamada para o UpdateView método.

  • UpdateView

    Informa ao seu serviço de linguagem para atualizar o editor quando uma dica de método é exibida. No UpdateView método, chame o seguinte:

    <pTxWin> ->UpdateTipWindow(<pTip>, UTW_CONTENTCHANGED | UTW_CONTEXTCHANGED).
    
  • OnDismiss

    Você recebe uma chamada para o OnDismiss método quando você fechar a janela de dica de método.