コード例 #1
0
 private void OnTextBufferChanging(object sender, TextContentChangingEventArgs e)
 {
     if (_quickInfoBroker.IsQuickInfoActive(_textView))
     {
         var sessions = _quickInfoBroker.GetSessions(_textView);
         foreach (var session in sessions)
         {
             session.Dismiss();
         }
     }
 }
コード例 #2
0
 public void StartQuickInfo(int offset)
 {
     if (!m_broker.IsQuickInfoActive(m_view))
     {
         if (offset >= m_view.TextSnapshot.Length)
         {
             return;
         }
         ITrackingPoint triggerPoint = m_view.TextSnapshot.CreateTrackingPoint(offset, PointTrackingMode.Positive);
         var            session      = m_broker.TriggerQuickInfo(m_view, triggerPoint, true);
         if (session != null)
         {
             session.Start();
         }
     }
 }
コード例 #3
0
        bool StartSession()
        {
            if (_currentSession != null)
            {
                return(false);
            }

            SnapshotPoint caret    = TextView.Caret.Position.BufferPosition;
            ITextSnapshot snapshot = caret.Snapshot;

            if (!Broker.IsCompletionActive(TextView))
            {
                _currentSession = Broker.CreateCompletionSession(TextView, snapshot.CreateTrackingPoint(caret, PointTrackingMode.Positive), true);
            }
            else
            {
                _currentSession = Broker.GetSessions(TextView)[0];
            }

            _currentSession.Dismissed += (sender, args) => _currentSession = null;
            _currentSession.Start();

            if (_quickInfoBroker.IsQuickInfoActive(TextView))
            {
                foreach (IQuickInfoSession session in _quickInfoBroker.GetSessions(TextView))
                {
                    session.Dismiss();
                }
            }

            return(true);
        }
コード例 #4
0
 private void DismissQuickInfo()
 {
     if (_QuickInfobroker.IsQuickInfoActive(_textView))
     {
         _QuickInfobroker.GetSessions(_textView)[0].Dismiss();
     }
 }
コード例 #5
0
        private void TriggerSession()
        {
            if (_session == null || _session.IsDismissed)
            {
                if (_quickInfoBroker.IsQuickInfoActive(_view))
                {
                    _quickInfoBroker.GetSessions(_view)[0].Dismiss();
                }

                Dispatcher.CurrentDispatcher.BeginInvoke(new Action(() =>
                {
                    _session = _signaturehelpBroker.TriggerSignatureHelp(_view);
                    if (_session != null)
                    {
                        _session.Match();
                    }
                }), DispatcherPriority.Normal, null);
            }
        }
コード例 #6
0
ファイル: DisplayWindowBroker.cs プロジェクト: renjiec/VsVim
        void IDisplayWindowBroker.DismissDisplayWindows()
        {
            if (_completionBroker.IsCompletionActive(_textView))
            {
                _completionBroker.DismissAllSessions(_textView);
            }

            if (_signatureHelpBroker.IsSignatureHelpActive(_textView))
            {
                _signatureHelpBroker.DismissAllSessions(_textView);
            }

            if (_quickInfoBroker.IsQuickInfoActive(_textView))
            {
                foreach (var session in _quickInfoBroker.GetSessions(_textView))
                {
                    session.Dismiss();
                }
            }
        }
コード例 #7
0
        private void TriggerSession()
        {
            if (_session == null || _session.IsDismissed)
            {
                if (_quickInfoBroker.IsQuickInfoActive(_view))
                {
                    _quickInfoBroker.GetSessions(_view)[0].Dismiss();
                }

                ThreadHelper.JoinableTaskFactory.StartOnIdle(
                    () =>
                {
                    _session = _signaturehelpBroker.TriggerSignatureHelp(_view);
                    if (_session != null)
                    {
                        _session.Match();
                    }

                    return(Task.CompletedTask);
                },
                    VsTaskRunContext.UIThreadNormalPriority);
            }
        }