SuggestionBase.OnProposalUpdatedAsync 메서드

정의

제안서의 변경이 발생한 몇 가지 변경(일반적으로 텍스트 버퍼의 변경)이 있었습니다.

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

매개 변수

originalProposal
ProposalBase
currentProposal
ProposalBase
completionState
CompletionState

반환

설명

이 메서드는 신속하게 반환해야 합니다. 상당한 작업을 수행해야 하는 경우 을 통해 DisplayProposalAsync(ProposalBase, CancellationToken)제안을 변경하는 비동기 작업에서 수행해야 합니다.

제안 서비스는 제안된 편집 내용을 사용자가 변경한 내용과 조정하려고 시도합니다. 예를 들어 원래 제안이 "빨간색"을 삽입하고 사용자가 "r"을 입력했다고 가정해 보겠습니다. 이 경우 사용자가 입력한 "r" 뒤에 "ed"를 삽입하도록 편집이 업데이트됩니다. 변경 내용이 사용자의 변경 내용과 조정할 수 없는 경우 제안의 최신 버전이 반환되고 reason 플래그가 Diverged 설정됩니다.

currentProposaloriginalProposal null일 수 있습니다. 사용자 작업으로 인해 상태 변경이 빠르게 연속되는 경우(예: IntelliSense 목록 스크롤) 이 발생할 수 있습니다. 이 경우 첫 번째 변경으로 인해 제안 공급자가 제안을 지우고 null로 설정하면 두 번째 상태 변경이 발생하면 해당 null 제안에 대한 ProposalUpdated 이벤트가 발생할 수 있습니다.

적용 대상