本文整理汇总了C#中IQuickInfoSession.Recalculate方法的典型用法代码示例。如果您正苦于以下问题:C# IQuickInfoSession.Recalculate方法的具体用法?C# IQuickInfoSession.Recalculate怎么用?C# IQuickInfoSession.Recalculate使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类IQuickInfoSession
的用法示例。
在下文中一共展示了IQuickInfoSession.Recalculate方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: StartTooltipRequestAsync
async Task StartTooltipRequestAsync(IQuickInfoSession session, IList<object> quickInfoContent, ITrackingSpan applicableToSpan, SnapshotPoint? triggerPoint, string filePath)
{
// If this position didn't have a classification, then it's uninteresting, and won't have tooltips.
if (applicableToSpan == null)
return;
// Set the position so we know what request is in process.
inProgressPosition = triggerPoint.Value.Position;
inProgressTooltipData = null;
inProgressApplicableToSpan = null;
// Put dummy content in tooltip while the request in in-flight.
quickInfoContent.Add("Loading...");
// Fire off a request to the service to get the data.
DartAnalysisService analysisService = await provider.DartAnalysisServiceFactory.GetAnalysisServiceAsync().ConfigureAwait(false);
HoverInformation[] hovers = await analysisService.GetHover(filePath, triggerPoint.Value.Position);
// Build the tooltip info if the response was valid.
var tooltipData = BuildTooltip(hovers);
if (!string.IsNullOrWhiteSpace(tooltipData))
{
// Stash the data for the next call, and tell VS to reclaculate now that we have the good info.
inProgressTooltipData = tooltipData;
inProgressApplicableToSpan = buffer.CurrentSnapshot.CreateTrackingSpan(hovers[0].Offset, hovers[0].Length, SpanTrackingMode.EdgeInclusive);
session.Recalculate();
}
else
{
// Otherwise, no valid response, means no tooltip.
session.Dismiss();
}
}