本文整理汇总了C#中ICompletionSession.GetOptions方法的典型用法代码示例。如果您正苦于以下问题:C# ICompletionSession.GetOptions方法的具体用法?C# ICompletionSession.GetOptions怎么用?C# ICompletionSession.GetOptions使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类ICompletionSession
的用法示例。
在下文中一共展示了ICompletionSession.GetOptions方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: AugmentCompletionSession
public override void AugmentCompletionSession(ICompletionSession session, IList<CompletionSet> completionSets) {
var doc = HtmlEditorDocument.FromTextBuffer(_buffer);
if (doc == null) {
return;
}
doc.HtmlEditorTree.EnsureTreeReady();
var primarySnapshot = doc.PrimaryView.TextSnapshot;
var nullableTriggerPoint = session.GetTriggerPoint(primarySnapshot);
if (!nullableTriggerPoint.HasValue) {
return;
}
var triggerPoint = nullableTriggerPoint.Value;
var artifacts = doc.HtmlEditorTree.ArtifactCollection;
var index = artifacts.GetItemContaining(triggerPoint.Position);
if (index < 0) {
return;
}
var artifact = artifacts[index] as TemplateArtifact;
if (artifact == null) {
return;
}
var artifactText = doc.HtmlEditorTree.ParseTree.Text.GetText(artifact.InnerRange);
artifact.Parse(artifactText);
ITrackingSpan applicableSpan;
var completionSet = GetCompletionSet(session.GetOptions(_analyzer._serviceProvider), _analyzer, artifact.TokenKind, artifactText, artifact.InnerRange.Start, triggerPoint, out applicableSpan);
completionSets.Add(completionSet);
}
示例2: AugmentCompletionSession
public override void AugmentCompletionSession(ICompletionSession session, IList<CompletionSet> completionSets) {
var nullableTriggerPoint = session.GetTriggerPoint(_buffer.CurrentSnapshot);
if (!nullableTriggerPoint.HasValue) {
return;
}
var triggerPoint = nullableTriggerPoint.Value;
TemplateProjectionBuffer projBuffer;
if (!_buffer.Properties.TryGetProperty<TemplateProjectionBuffer>(typeof(TemplateProjectionBuffer), out projBuffer)) {
return;
}
int templateStart;
TemplateTokenKind kind;
var templateText = projBuffer.GetTemplateText(triggerPoint, out kind, out templateStart);
if (templateText == null) {
return;
}
if (kind == TemplateTokenKind.Block || kind == TemplateTokenKind.Variable) {
ITrackingSpan applicableSpan;
var completionSet = GetCompletionSet(
session.GetOptions(),
_analyzer,
kind,
templateText,
templateStart,
triggerPoint,
out applicableSpan);
completionSets.Add(completionSet);
}
}
示例3: 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);
}
}
示例4: 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);
}
示例5: AugmentCompletionSession
public void AugmentCompletionSession(ICompletionSession session, IList<CompletionSet> completionSets) {
TemplateProjectionBuffer projBuffer;
if (_textBuffer.Properties.TryGetProperty<TemplateProjectionBuffer>(typeof(TemplateProjectionBuffer), out projBuffer)) {
var completions = new List<DynamicallyVisibleCompletion>();
foreach (var tag in _htmlTags) {
completions.Add(new DynamicallyVisibleCompletion(
tag,
tag,
"",
_completionSourceProvider._glyphService.GetGlyph(StandardGlyphGroup.GlyphXmlItem, StandardGlyphItem.GlyphItemPublic),
"")
);
}
foreach (var tag in _htmlTags) {
completions.Add(new DynamicallyVisibleCompletion(
"/" + tag,
"/" + tag,
"",
_completionSourceProvider._glyphService.GetGlyph(StandardGlyphGroup.GlyphXmlItem, StandardGlyphItem.GlyphItemPublic),
"")
);
}
//
var triggerPoint = session.GetTriggerPoint(_textBuffer);
var point = triggerPoint.GetPoint(_textBuffer.CurrentSnapshot);
var match = projBuffer.BufferGraph.MapUpToFirstMatch(
point,
PointTrackingMode.Positive,
x => x.TextBuffer != _textBuffer,
PositionAffinity.Predecessor
);
if (match == null ||
!match.Value.Snapshot.TextBuffer.ContentType.IsOfType(TemplateContentType.ContentTypeName)) {
var line = point.GetContainingLine();
var text = line.GetText();
int position = point.Position;
for (int i = position - line.Start.Position - 1; i >= 0 && i < text.Length; --i, --position) {
char c = text[i];
if (!char.IsLetterOrDigit(c) && c != '!') {
break;
}
}
var span = _textBuffer.CurrentSnapshot.CreateTrackingSpan(position, point.Position - position, SpanTrackingMode.EdgeInclusive);
completionSets.Add(new FuzzyCompletionSet("PythonDjangoTemplateHtml", "HTML", span, completions, session.GetOptions(), CompletionComparer.UnderscoresLast));
}
}
}