Interface IVsFinalTextChangeCommitEvents
Notifica os clientes do gesto de confirmação na último para acionar o evento e fornece o intervalo de texto alterado.
Namespace: Microsoft.VisualStudio.TextManager.Interop
Assembly: Microsoft.VisualStudio.TextManager.Interop (em Microsoft.VisualStudio.TextManager.Interop.dll)
Sintaxe
'Declaração
<InterfaceTypeAttribute()> _
<GuidAttribute("CE62717C-797D-445F-BC89-1D02C54CCF96")> _
Public Interface IVsFinalTextChangeCommitEvents
[InterfaceTypeAttribute()]
[GuidAttribute("CE62717C-797D-445F-BC89-1D02C54CCF96")]
public interface IVsFinalTextChangeCommitEvents
[InterfaceTypeAttribute()]
[GuidAttribute(L"CE62717C-797D-445F-BC89-1D02C54CCF96")]
public interface class IVsFinalTextChangeCommitEvents
[<InterfaceTypeAttribute()>]
[<GuidAttribute("CE62717C-797D-445F-BC89-1D02C54CCF96")>]
type IVsFinalTextChangeCommitEvents = interface end
public interface IVsFinalTextChangeCommitEvents
O tipo IVsFinalTextChangeCommitEvents expõe os membros a seguir.
Métodos
Nome | Descrição | |
---|---|---|
OnChangesCommitted | Notifica os clientes do gesto de confirmação na último disparar o evento e fornecem o intervalo de texto alterado. |
Superior
Comentários
Serviços de linguagem ou a outras pessoas que possuem controle total sobre a experiência de edição são o único cliente pretendido desta interface.
Ações de compostos são ações que são agrupadas em um único Desfazer/Refazer unidade. Quando o editor ou um cliente de Editor (por exemplo, o serviço de idioma) quer criar uma ação composta, ele chama OpenCompoundAction e CloseCompoundAction ao redor de tudo o que chama o faz para manipulação de texto. Cada ação composta contém os gestos de confirmação que exigiriam o ambiente para acionar um evento de confirmação para cada um; No entanto, para uma ação de compostos, o ambiente é acionado somente um evento de confirmação. Este evento é disparado, o gesto de confirmação de prioridade mais alto ou o último gesto de confirmação. Por exemplo, usando Localizar e Substituir, um usuário substitui seis abrange do texto ao mesmo tempo. Cada substituição é potencialmente um gesto de confirmação, mas porque esta é uma ação de compostos, o ambiente aguarda até o fim da Localizar e Substituir operação emita um evento de submissão única chamando OnChangesCommitted e passando um valor de CCG_MASS_REPLACE para o dwGestureFlags parâmetro.
IVsFinalTextChangeCommitEventsé destinada apenas para uso por serviços de linguagem ou outros objetos que têm controle total sobre a edição. Ele não será acionado em resposta a Desfazer ou Refazer comandos, mas só é acionado para buffers que têm um Desfazer manager. Com a implementação de IVsFinalTextChangeCommitEvents seu idioma recebe notificação quando o usuário executa certas ações committable. Para obter mais informações, consulte ChangeCommitGestureFlags. Em resposta a essas ações, o idioma pode levar a ação que ele precisa, como reformatar o texto que pode ter sido inserido. Em geral, essas ações não podem ser desfeitas quando a alteração do texto é desfeita, porque, na maior parte, o Desfazer remove o texto em questão. Por esse motivo, o sistema de eventos de confirmação não está respondendo a Desfazer/Refazer. Clientes que também desejam controlar Desfazer/Refazer eventos podem usar o Desfazer eventos do Gerenciador de cluster para fazê-lo.
IVsPreliminaryTextChangeCommitEventsé muito semelhante a IVsFinalTextChangeCommitEvents. A única diferença é que IVsPreliminaryTextChangeCommitEvents é demitido pelo ambiente antes de IVsFinalTextChangeCommitEvents e antes de outros eventos, tais como Seleção reformatar. Isso é para garantir que o texto no buffer não é corrompido antes a chamar IVsPreliminaryTextChangeCommitEvents. Você deve implementar um IVsFinalTextChangeCommitEvents ou IVsPreliminaryTextChangeCommitEvents, mas não ambos.
Observações para implementadores
Implementar IVsFinalTextChangeCommitEvents no seu objeto de cliente para receber notificação de alterações para o objeto de buffer de texto, VsTextBuffer. Expor esta interface para o buffer de texto usando o IConnectionPointContainer interface no objeto de buffer de texto VsTextBuffer . Para mais informações, consulte: Como: registrar eventos de Buffer de texto com a API Legacy.