SuggestionBase.OnProposalUpdatedAsync Metodo
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
È stata apportata una modifica (in genere una modifica nel buffer di testo) che ha causato una modifica nella 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
Parametri
- session
- SuggestionSessionBase
- originalProposal
- ProposalBase
- currentProposal
- ProposalBase
- reason
- ReasonForUpdate
- caret
- VirtualSnapshotPoint
- completionState
- CompletionState
- cancel
- CancellationToken
Restituisce
Commenti
Questo metodo deve restituire rapidamente. Se è necessario eseguire un lavoro sostanziale, deve essere eseguito in un'attività asincrona che modifica la proposta tramite DisplayProposalAsync(ProposalBase, CancellationToken).
Il servizio di suggerimenti tenterà di riconciliare le modifiche proposte con eventuali modifiche apportate dall'utente. Si supponga, ad esempio, che la proposta originale sia quella di inserire "rosso" e i tipi di utente "r". In tal caso, la modifica verrà aggiornata in modo da inserire "ed" dopo che l'utente ha digitato "r". Se la modifica non può essere riconciliata con la modifica dell'utente, la versione più recente della proposta verrà restituita e reason
avrà il Diverged flag impostato.
Si noti che originalProposal
e currentProposal
possono essere Null. Ciò può verificarsi se le azioni degli utenti causano una rapida successione di modifiche di stato (ad esempio, scorrere l'elenco IntelliSense). In questo caso, la prima modifica potrebbe causare la cancellazione della proposta da parte del provider di suggerimenti, impostandola su null, in modo che, quando si verifica la seconda modifica dello stato, si otterrà un evento ProposalUpdated per tale proposta Null.