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(); } }
public void CloseOtherSessions(IQuickInfoSession session) { foreach (var s in quickInfoBroker.GetSessions(session.TextView)) { if (s != session) { s.Dismiss(); } } }
public void DismissQuickInfoSession(ITextView textView) { IQuickInfoBroker broker = Shell.ExportProvider.GetExportedValue <IQuickInfoBroker>(); var sessions = broker.GetSessions(textView); foreach (var s in sessions) { s.Dismiss(); } }
public void DismissQuickInfoSession(ITextView textView) { IQuickInfoBroker broker = Shell.GetService <IQuickInfoBroker>(); var sessions = broker.GetSessions(textView); foreach (var s in sessions) { s.Dismiss(); } }
private void OnTextBufferChanging(object sender, TextContentChangingEventArgs e) { if (_quickInfoBroker.IsQuickInfoActive(_textView)) { var sessions = _quickInfoBroker.GetSessions(_textView); foreach (var session in sessions) { session.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(); } } }
void TextView_MouseHover(object sender, MouseHoverEventArgs e) { var pos = e.TextPosition.GetPoint(textView.TextBuffer, PositionAffinity.Successor); if (pos == null) { return; } var sessions = quickInfoBroker.GetSessions(textView); foreach (var session in sessions) { if (Intersects(session.ApplicableToSpan, pos.Value)) { return; } if ((session as IQuickInfoSession2)?.HasInteractiveContent == true) { foreach (var o in session.QuickInfoContent) { var io = o as IInteractiveQuickInfoContent; if (io == null) { continue; } if (io.KeepQuickInfoOpen || io.IsMouseOverAggregated) { return; } } } } foreach (var session in sessions) { session.Dismiss(); } var triggerPoint = pos.Value.Snapshot.CreateTrackingPoint(pos.Value.Position, PointTrackingMode.Negative); quickInfoBroker.TriggerQuickInfo(textView, triggerPoint, trackMouse: true); }
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); } }
public IReadOnlyList <IEditorIntellisenseSession> GetSessions(IEditorView view) => _quickInfoBroker.GetSessions(view.As <ITextView>()) .Select(s => s.ToEditorIntellisenseSession()) .ExcludeDefault() .ToList();