本文整理汇总了C#中IQuickInfoSession.Dismiss方法的典型用法代码示例。如果您正苦于以下问题:C# IQuickInfoSession.Dismiss方法的具体用法?C# IQuickInfoSession.Dismiss怎么用?C# IQuickInfoSession.Dismiss使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类IQuickInfoSession
的用法示例。
在下文中一共展示了IQuickInfoSession.Dismiss方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: CreateContent
void IQuickInfoSource.AugmentQuickInfoSession(IQuickInfoSession existingQuickInfoSession, IList<object> quickInfoContent, out ITrackingSpan applicableToSpan)
{
// Augmenting quick info isn't cancellable.
var cancellationToken = CancellationToken.None;
EventHookupSessionManager eventHookupSessionManager;
// Ensure this is a quick info session created by event hookup
if (!existingQuickInfoSession.Properties.TryGetProperty(typeof(EventHookupSessionManager), out eventHookupSessionManager))
{
applicableToSpan = null;
return;
}
if (!eventHookupSessionManager.IsTrackingSession())
{
existingQuickInfoSession.Dismiss();
applicableToSpan = null;
return;
}
string eventHandlerName = null;
// Get the event handler method name. The name was calculated when the quick info
// session was created, so we do not need to wait for the task here.
if (eventHookupSessionManager.CurrentSession.GetEventNameTask.Status == TaskStatus.RanToCompletion)
{
eventHandlerName = eventHookupSessionManager.CurrentSession.GetEventNameTask.Result;
}
if (eventHandlerName == null)
{
existingQuickInfoSession.Dismiss();
applicableToSpan = null;
return;
}
// We should show the quick info session. Calculate the span and create the content.
var currentSnapshot = _textBuffer.CurrentSnapshot;
applicableToSpan = currentSnapshot.CreateTrackingSpan(
start: eventHookupSessionManager.CurrentSession.TrackingPoint.GetPosition(currentSnapshot),
length: 0,
trackingMode: SpanTrackingMode.EdgeInclusive);
// Clear any existing quick info content. This ensures that the event hookup text is
// the only text in the quick info.
quickInfoContent.Clear();
var content = CreateContent(eventHandlerName, _classificationTypeMap);
quickInfoContent.Add(content);
// For test purposes only!
eventHookupSessionManager.TEST_MostRecentQuickInfoContent = content;
}
示例2: RetriggerQuickInfoSession
private void RetriggerQuickInfoSession(IQuickInfoSession session, string packageName) {
if (session != null && !session.IsDismissed) {
session.Dismiss();
}
_lastPosition = -1;
_packageName = packageName;
if (packageName != null) {
IQuickInfoBroker broker = _catalog.ExportProvider.GetExport<IQuickInfoBroker>().Value;
broker.TriggerQuickInfo(session.TextView, session.GetTriggerPoint(session.TextView.TextBuffer), session.TrackMouse);
}
}
示例3: RetriggerQuickInfoSession
private void RetriggerQuickInfoSession(IQuickInfoSession session) {
if (session != null && !session.IsDismissed) {
session.Dismiss();
}
_lastPosition = -1;
IQuickInfoBroker broker = EditorShell.Current.ExportProvider.GetExport<IQuickInfoBroker>().Value;
broker.TriggerQuickInfo(session.TextView, session.GetTriggerPoint(session.TextView.TextBuffer), session.TrackMouse);
}
示例4: AugmentQuickInfoSession
public void AugmentQuickInfoSession(IQuickInfoSession session, IList<object> quickInfoContent, out ITrackingSpan applicableToSpan)
{
// Dismiss the session immediately.
session.Dismiss();
applicableToSpan = null;
}
示例5: 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();
}
}