Compartilhar via


SuggestionBase.OnProposalUpdatedAsync Método

Definição

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

originalProposal
ProposalBase
currentProposal
ProposalBase
completionState
CompletionState

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.

Aplica-se a