private void OnTextBufferChanging(object sender, TextContentChangingEventArgs e) { if (_quickInfoBroker.IsQuickInfoActive(_textView)) { var sessions = _quickInfoBroker.GetSessions(_textView); foreach (var session in sessions) { session.Dismiss(); } } }
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(); } } }
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); }
private void DismissQuickInfo() { if (_QuickInfobroker.IsQuickInfoActive(_textView)) { _QuickInfobroker.GetSessions(_textView)[0].Dismiss(); } }
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); } }
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(); } } }
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); } }