Compartir a través de


SuggestionBase.OnProposalUpdatedAsync Método

Definición

Se ha producido algún cambio (normalmente un cambio en el búfer de texto) que ha provocado un cambio en la propuesta.

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

Devoluciones

Comentarios

Este método debe devolverse rápidamente. Si es necesario realizar un trabajo sustancial, debe realizarse en una tarea asincrónica que cambie la propuesta a través de DisplayProposalAsync(ProposalBase, CancellationToken).

El servicio de sugerencias intentará conciliar las modificaciones propuestas con los cambios que realice el usuario. Por ejemplo, supongamos que la propuesta original era insertar "rojo" y el usuario escribe "r". En ese caso, la edición se actualizará para insertar "ed" después de que el usuario escriba "r". Si el cambio no se puede conciliar con el cambio del usuario, se devolverá la versión más reciente de la propuesta y reason tendrá la Diverged marca establecida.

Tenga en cuenta que originalProposal y currentProposal pueden ser null. Esto puede ocurrir si las acciones de los usuarios provocan una sucesión rápida de cambios de estado (por ejemplo, desplazarse por la lista de IntelliSense). En este caso, el primer cambio podría hacer que el proveedor de sugerencias borre su propuesta ( establézcalo en null) para que, cuando se produzca el segundo cambio de estado, obtendrá un evento ProposalUpdated para esa propuesta nula.

Se aplica a