SuggestionBase.OnProposalUpdatedAsync Méthode
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
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
- session
- SuggestionSessionBase
- originalProposal
- ProposalBase
- currentProposal
- ProposalBase
- reason
- ReasonForUpdate
- caret
- VirtualSnapshotPoint
- completionState
- CompletionState
- cancel
- CancellationToken
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.