本文整理汇总了C#中ICompletionSession.GetApplicableSpan方法的典型用法代码示例。如果您正苦于以下问题:C# ICompletionSession.GetApplicableSpan方法的具体用法?C# ICompletionSession.GetApplicableSpan怎么用?C# ICompletionSession.GetApplicableSpan使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类ICompletionSession
的用法示例。
在下文中一共展示了ICompletionSession.GetApplicableSpan方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: AugmentCompletionSession
public void AugmentCompletionSession(ICompletionSession session, IList<CompletionSet> completionSets) {
var textBuffer = _textBuffer;
var span = session.GetApplicableSpan(textBuffer);
var triggerPoint = session.GetTriggerPoint(textBuffer);
var options = session.GetOptions(_provider._serviceProvider);
var provider = textBuffer.CurrentSnapshot.GetCompletions(_provider._serviceProvider, span, triggerPoint, options);
var completions = provider.GetCompletions(_provider._glyphService);
if (completions != null && completions.Completions.Count > 0) {
completionSets.Add(completions);
}
}
示例2: AugmentCompletionSession
public void AugmentCompletionSession(ICompletionSession session, IList<CompletionSet> completionSets)
{
var textBuffer = _textBuffer;
var span = session.GetApplicableSpan(textBuffer);
var triggerPoint = session.GetTriggerPoint(textBuffer);
var options = session.GetOptions();
var provider = textBuffer.CurrentSnapshot.GetCompletions(span, triggerPoint, options);
var completions = provider.GetCompletions(_provider._glyphService);
if (completions == null || completions.Completions.Count == 0) {
if (JToolsPackage.Instance != null &&
!session.TextView.GetAnalyzer().InterpreterFactory.IsAnalysisCurrent()) {
// no completions, inform the user via the status bar that the analysis is not yet complete.
var statusBar = (IVsStatusbar)CommonPackage.GetGlobalService(typeof(SVsStatusbar));
statusBar.SetText(Resources.WarningAnalysisNotCurrent);
}
return;
}
completionSets.Add(completions);
}
示例3: EnterOnCompleteText
private bool EnterOnCompleteText(ICompletionSession session) {
var selectionStatus = session.SelectedCompletionSet.SelectionStatus;
var caret = _textView.Caret.Position.BufferPosition;
var span = session.GetApplicableSpan(_textView.TextBuffer).GetSpan(caret.Snapshot);
return caret == span.End &&
span.Length == selectionStatus.Completion?.InsertionText.Length &&
span.GetText() == selectionStatus.Completion.InsertionText;
}