Partager via


SuggestionBase.OnProposalUpdatedAsync Méthode

Définition

Certains changements (généralement une modification de la mémoire tampon de texte) ont entraîné une modification de la proposition.

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

Paramètres

originalProposal
ProposalBase
currentProposal
ProposalBase
completionState
CompletionState

Retours

Remarques

Cette méthode doit être retournée rapidement. Si un travail important doit être effectué, il doit être effectué dans une tâche asynchrone qui modifie la proposition via DisplayProposalAsync(ProposalBase, CancellationToken).

Le service de suggestion tente de concilier les modifications proposées avec les modifications apportées par l’utilisateur. Par exemple, supposons que la proposition d’origine était d’insérer « red » et que l’utilisateur type « r ». Dans ce cas, la modification est mise à jour pour insérer « ed » une fois que l’utilisateur a tapé « r ». Si la modification ne peut pas être réconciliée avec la modification de l’utilisateur, la version la plus récente de la proposition est retournée et reason l’indicateur Diverged est défini.

Notez que originalProposal et currentProposal peut être null. Cela peut se produire si les actions des utilisateurs provoquent une succession rapide de changements d’état (par exemple, en faisant défiler la liste IntelliSense). Dans ce cas, la première modification peut amener le fournisseur de suggestions à effacer sa proposition -- définissez-la sur null -- de sorte que, lorsque le deuxième changement d’état se produit, vous obtenez un événement ProposalUpdated pour cette proposition null.

S’applique à