Como: implementar marcadores de erro
Marcadores de erro (ou vermelho ondulado) é as personalizações do editor de texto para implementar a mais difícil. No entanto, os benefícios que eles oferecem aos usuários do seu VSPackage podem superam em muito o custo para fornecer-lhes. Marcadores de erro sutilmente marcam o texto que o parser do idioma julgue incorreto com uma linha vermelha ondulada ou ondulada. Este indicador ajuda os programadores visualmente exibindo código incorreto.
Use os marcadores de texto para implementar o sublinhado ondulado em vermelho. Como regra, serviços de linguagem adicionar ondulados em vermelho para o buffer de texto como uma passagem de plano de fundo, no tempo ocioso ou em um segmento de plano de fundo.
Para implementar o recurso de vermelho ondulado
Selecione o texto sob a qual você deseja colocar o sublinhado ondulado em vermelho.
Criar um marcador do tipo MARKER_CODESENSE_ERROR. Para obter mais informações, consulte Como: adicionar marcadores de texto padrão.
Depois disso, passe em um IVsTextMarkerClient o ponteiro de interface.
Esse processo também permite que você crie texto de dica ou um menu de contexto especial sobre um determinado marcador. Para obter mais informações, consulte Como: adicionar marcadores de texto padrão.
Os seguintes objetos são necessários antes de marcadores de erro podem ser exibidas.
Um analisador.
Um provedor de tarefas (ou seja, uma implementação de IVsTaskProvider2) que mantém um registro de alterações nas informações de linha para identificar as linhas a ser re-parsed.
Eventos de alteração de um filtro de exibição de texto que captura o cursor no modo de exibição que usa a OnChangeCaretLine) método.
O analisador, o provedor de tarefas e filtro fornecem a infra-estrutura necessária para tornar os marcadores de erro possível. As seguintes etapas fornecem o processo para exibir os marcadores de erro.
Em uma exibição que está sendo filtrada, o filtro obtém um ponteiro para o provedor de tarefas associado aos dados do modo de exibição.
Dica
Você pode usar o mesmo filtro de comando para a conclusão da instrução, dicas de método, marcadores de erro e assim por diante.
Quando o filtro recebe um evento indicando que você moveu para outra linha, uma tarefa é criada para verificar se há erros.
O manipulador de tarefas verifica se a linha está suja. Em caso afirmativo, ele analisa a linha de erros.
Se houver erros, o provedor de tarefas cria uma instância de item de tarefa. Esta instância cria o marcador de texto que o ambiente usa como um marcador de erro no modo de exibição de texto.
Consulte também
Tarefas
Como: adicionar marcadores de texto padrão
Como: criar marcadores de texto personalizado
Conceitos
Como: usar marcadores de texto