Exemplo n.º 1
0
        public ISignatureHelpSource TryCreateSignatureHelpSource(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 <ISignatureHelpSource>(() => {
                if (VSServiceProvider.Current.VSOptionsPage != null && !VSServiceProvider.Current.VSOptionsPage.SignatureHelp)
                {
                    return null;
                }

                //Can we get the TextViewTracker?
                TextViewTracker textViewTracker;
                if (TextViewTracker.TryGetTextViewTracker(textBuffer, out textViewTracker))
                {
                    return new SignatureHelpSource(textBuffer, textViewTracker);
                }
                else
                {
                    return null;
                }
            }, "TryCreateSignatureHelpSource"));
        }
Exemplo n.º 2
0
        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;
                }

                TextViewTracker textViewTracker;
                if (TextViewTracker.TryGetTextViewTracker(textBuffer, out textViewTracker))
                {
                    return new QuickInfoSource(textBuffer, textViewTracker);
                }
                else
                {
                    return null;
                }
            }, "TryCreateQuickInfoSession"));
        }