本文整理汇总了C#中IQuickInfoSession.Set方法的典型用法代码示例。如果您正苦于以下问题:C# IQuickInfoSession.Set方法的具体用法?C# IQuickInfoSession.Set怎么用?C# IQuickInfoSession.Set使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类IQuickInfoSession
的用法示例。
在下文中一共展示了IQuickInfoSession.Set方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: AugmentQuickInfoSession
public void AugmentQuickInfoSession(IQuickInfoSession session, IList<object> quickInfoContent, out ITrackingSpan applicableToSpan)
{
applicableToSpan = null;
if ( !provider.Settings.RainbowToolTipsEnabled ) {
return;
}
SnapshotPoint? triggerPoint = session.GetTriggerPoint(textBuffer.CurrentSnapshot);
if ( !triggerPoint.HasValue ) {
return;
}
SnapshotPoint? otherBrace;
if ( !FindOtherBrace(triggerPoint.Value, out otherBrace) ) {
// triggerPoint is not a brace
return;
}
if ( !otherBrace.HasValue ) {
TextEditor.DisplayMessageInStatusBar("No matching brace found.");
return;
}
if ( IsTooClose(triggerPoint.Value, otherBrace.Value) ) {
return;
}
session.Dismissed += OnSessionDismissed;
if ( toolTipWindow == null ) {
toolTipWindow = this.provider.ToolTipProvider.CreateToolTip(session.TextView);
toolTipWindow.SetSize(60, 5);
}
var span = new SnapshotSpan(triggerPoint.Value, 1);
applicableToSpan = span.Snapshot.CreateTrackingSpan(span, SpanTrackingMode.EdgePositive);
var element = toolTipWindow.GetWindow(otherBrace.Value);
if ( element != null ) {
quickInfoContent.Add(element);
session.Set(new RainbowToolTipContext());
}
}