Compartilhar via


Eventos de Buffer do texto na API Legacy

O objeto de buffer de texto emite vários eventos diferentes que permitem que você responder a situações diferentes.

Quando você estiver usando a API herdada, você deve implementar as seguintes interfaces para receber notificação de alterações para o buffer de texto. Expõe as interfaces para o buffer de texto usando o IConnectionPointContainer interface no buffer para receber notificação de linha de texto muda do buffer. Para obter mais informações, consulte Como: registrar eventos de Buffer de texto com a API Legacy. No caso de IVsTextStreamEvents ou IVsTextLinesEvents interfaces, as alterações são retornadas em qualquer um ou bidimensional coordenadas, respectivamente.

Interfaces de Buffer de texto

A seguir estão as interfaces implementadas pelo objeto de buffer de texto.

Interface

Descrição

IVsCompoundAction

Permite a criação de ações compostas (ou seja, ações que são agrupadas em uma unidade única de desfazer/refazer).

IVsPersistDocData

Permite a persistência de dados de documentos gerenciados pelo buffer de texto.

IVsTextBuffer

Fornece serviços básicos; usado por muitos clientes.

IVsTextLines

Fornece leitura e gravação recursos usando coordenadas bidimensionais. Herda de IVsTextBuffer.

IVsTextScanner

Fornece rápido acesso seqüencial, orientado por fluxo ao texto no buffer.

IVsTextStream

Fornece leitura e gravação recursos usando coordenadas unidimensionais. Herda de IVsTextBuffer.

IVsUserData

Fornece acesso a uma coleção genérica de propriedades. A propriedade mais importante é o nome ou identificador de origem, do buffer. Criando um GUID e usá-la como uma chave, você pode armazenar seus próprios dados aleatórios no buffer com essa interface.

IConnectionPointContainer

Suporta pontos de conexão para eventos.

Interfaces de eventos do Buffer de texto

A seguir estão as interfaces para notificação de eventos do buffer de texto.

Interface

Descrição

IVsTextBufferEvents

Notifica os clientes quando um novo serviço de idioma está associado um buffer de texto.

IVsTextBufferDataEvents

Notifica os clientes, quando um buffer de texto é inicializado e quando são feitas alterações nos dados no buffer de texto.

IVsTextStreamEvents

Notifica os clientes de alterações para o buffer de texto subjacente em coordenadas unidimensionais.

IVsTextLinesEvents

Notifica os clientes de alterações para o buffer de texto subjacente em coordenadas bidimensionais.

IVsUserDataEvents

Notifica os clientes de alterações nos dados do usuário.

IVsPreliminaryTextChangeCommitEvents

Notifica os clientes do gesto de confirmação na último para acionar o evento e fornece o intervalo de texto alterado. O IVsPreliminaryTextChangeCommitEvents interface não é disparado em resposta a desfazer ou refazer comandos. Eventos só é acionado para buffers que tenham um Gerenciador de desfazer. IVsPreliminaryTextChangeCommitEventsé disparado antes para outros eventos, como a listagem bonita, para certificar-se de que os outros eventos não alteram o texto antes das alterações serem confirmadas. O VSPackage deve monitorar tanto o IVsPreliminaryTextChangeCommitEvents interface ou o IVsFinalTextChangeCommitEvents interface, mas não ambos.

IVsFinalTextChangeCommitEvents

Notifica os clientes do gesto de confirmação na último para acionar o evento e fornece o intervalo de texto alterado. O IVsFinalTextChangeCommitEvents interface não é disparado em resposta a desfazer ou refazer comandos. Eventos só é acionado para buffers que tenham um Gerenciador de desfazer. IVsFinalTextChangeCommitEventsé destinado ao uso somente pelos serviços de linguagem ou outros objetos que têm controle completo sobre a edição. O VSPackage deve monitorar tanto o IVsPreliminaryTextChangeCommitEvents interface ou o IVsFinalTextChangeCommitEvents interface, mas não ambos.

Consulte também

Tarefas

Como: registrar eventos de Buffer de texto com a API Legacy

Conceitos

Acessando o Buffer de texto usando a API Legacy