public IQuickInfoSource TryCreateQuickInfoSource(ITextBuffer textBuffer) { Contract.Assume(textBuffer != null); if (VSServiceProvider.Current == null || VSServiceProvider.Current.ExtensionHasFailed) { //If the VSServiceProvider is not initialize, we can't do anything. return(null); } return(VSServiceProvider.Current.Logger.PublicEntry <IQuickInfoSource>(() => { if (VSServiceProvider.Current.VSOptionsPage != null && !VSServiceProvider.Current.VSOptionsPage.QuickInfo) { return null; } ITextViewTracker textViewTracker; if (TextViewTrackerAccessor.TryGetTextViewTracker(textBuffer, out textViewTracker)) { return VSServiceProvider.Current.GetVersionedServicesFactory().CreateQuickInfoSource(textBuffer, textViewTracker); } else { return null; } }, "TryCreateQuickInfoSession")); }