当前位置: 首页>>代码示例>>C#>>正文


C# IQuickInfoSession.Dismiss方法代码示例

本文整理汇总了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;
        }
开发者ID:Rickinio,项目名称:roslyn,代码行数:54,代码来源:EventHookupQuickInfoSource.cs

示例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);
            }
        }
开发者ID:Microsoft,项目名称:RTVS,代码行数:12,代码来源:QuickInfoSource.cs

示例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);
        }
开发者ID:AlexanderSher,项目名称:RTVS-Old,代码行数:9,代码来源:QuickInfoSource.cs

示例4: AugmentQuickInfoSession

 public void AugmentQuickInfoSession(IQuickInfoSession session, IList<object> quickInfoContent, out ITrackingSpan applicableToSpan)
 {
     // Dismiss the session immediately.
     session.Dismiss();
     applicableToSpan = null;
 }
开发者ID:NoahRic,项目名称:Random,代码行数:6,代码来源:DisableQuickInfo.cs

示例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();
			}
		}
开发者ID:modulexcite,项目名称:DartVS,代码行数:34,代码来源:QuickInfoSourceProvider.cs


注:本文中的IQuickInfoSession.Dismiss方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。