SuggestionBase.OnProposalUpdatedAsync Método
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Houve alguma alteração (normalmente uma alteração no buffer de texto) que causou uma alteração na proposta.
public abstract System.Threading.Tasks.Task OnProposalUpdatedAsync (Microsoft.VisualStudio.Language.Suggestions.SuggestionSessionBase session, Microsoft.VisualStudio.Language.Proposals.ProposalBase? originalProposal, Microsoft.VisualStudio.Language.Proposals.ProposalBase? currentProposal, Microsoft.VisualStudio.Language.Suggestions.ReasonForUpdate reason, Microsoft.VisualStudio.Text.VirtualSnapshotPoint caret, Microsoft.VisualStudio.Language.Proposals.CompletionState? completionState, System.Threading.CancellationToken cancel);
abstract member OnProposalUpdatedAsync : Microsoft.VisualStudio.Language.Suggestions.SuggestionSessionBase * Microsoft.VisualStudio.Language.Proposals.ProposalBase * Microsoft.VisualStudio.Language.Proposals.ProposalBase * Microsoft.VisualStudio.Language.Suggestions.ReasonForUpdate * Microsoft.VisualStudio.Text.VirtualSnapshotPoint * Microsoft.VisualStudio.Language.Proposals.CompletionState * System.Threading.CancellationToken -> System.Threading.Tasks.Task
Public MustOverride Function OnProposalUpdatedAsync (session As SuggestionSessionBase, originalProposal As ProposalBase, currentProposal As ProposalBase, reason As ReasonForUpdate, caret As VirtualSnapshotPoint, completionState As CompletionState, cancel As CancellationToken) As Task
Parâmetros
- session
- SuggestionSessionBase
- originalProposal
- ProposalBase
- currentProposal
- ProposalBase
- reason
- ReasonForUpdate
- caret
- VirtualSnapshotPoint
- completionState
- CompletionState
- cancel
- CancellationToken
Retornos
Comentários
Esse método deve retornar rapidamente. Se algum trabalho substancial precisar ser feito, ele deverá ser feito em uma tarefa assíncrona que altera a proposta por meio de DisplayProposalAsync(ProposalBase, CancellationToken).
O serviço de sugestão tentará reconciliar as edições propostas com as alterações feitas pelo usuário. Por exemplo, suponha que a proposta original era inserir "vermelho" e os tipos de usuário "r". Nesse caso, a edição será atualizada para inserir "ed" após o usuário digitar "r". Se a alteração não puder ser reconciliada com a alteração do usuário, a versão mais recente da proposta será retornada e reason
terá o Diverged sinalizador definido.
Observe que originalProposal
e currentProposal
podem ser nulos. Isso pode acontecer se as ações dos usuários causarem uma rápida sucessão de alterações de estado (por exemplo, rolando pela lista do IntelliSense). Nesse caso, a primeira alteração pode fazer com que o provedor de sugestões limpe sua proposta -- defina-a como nula -- para que, quando a segunda alteração de estado acontecer, você receba um evento ProposalUpdated para essa proposta nula.