public async void VsTextViewCreated(IVsTextView textViewAdapter) { IWpfTextView view = AdaptersFactory.GetWpfTextView(textViewAdapter); if (!DocumentService.TryGetTextDocument(view.TextBuffer, out ITextDocument doc)) { return; } string ext = Path.GetExtension(doc.FilePath); if (!FileExtensions.Contains(ext, StringComparer.OrdinalIgnoreCase)) { return; } ITextBufferUndoManager undoManager = UndoProvider.GetTextBufferUndoManager(view.TextBuffer); NodeProcess node = view.Properties.GetOrCreateSingletonProperty(() => new NodeProcess()); AddCommandFilter(textViewAdapter, new SortCommand(view, undoManager, node)); AddCommandFilter(textViewAdapter, new ModeCommand()); if (!node.IsReadyToExecute()) { await Install(node); } }
public void VsTextViewCreated(IVsTextView textViewAdapter) { Telemetry.TrackOperation("FileOpened"); IWpfTextView view = AdaptersFactory.GetWpfTextView(textViewAdapter); _buffer = view.TextBuffer; _buffer.Properties.GetOrCreateSingletonProperty(() => view); ITextBufferUndoManager undoManager = UndoProvider.GetTextBufferUndoManager(view.TextBuffer); AddCommandFilter(textViewAdapter, new FormatterCommand(view, undoManager)); AddCommandFilter(textViewAdapter, new CompletionController(view, CompletionBroker, QuickInfoBroker)); AddCommandFilter(textViewAdapter, new F1Help()); AddCommandFilter(textViewAdapter, new NavigateToParent(_buffer)); AddCommandFilter(textViewAdapter, new SignatureHelpCommand(view, SignatureHelpBroker, QuickInfoBroker)); AddCommandFilter(textViewAdapter, new HideDefaultCommands()); AddCommandFilter(textViewAdapter, new EnableSnippetsCommand(textViewAdapter, view, NavigatorService)); if (textViewAdapter is IVsTextViewEx viewEx) { ErrorHandler.ThrowOnFailure(viewEx.PersistOutliningState()); } if (DocumentService.TryGetTextDocument(_buffer, out ITextDocument document)) { document.FileActionOccurred += DocumentSavedAsync; } view.Closed += OnViewClosed; }
public void VsTextViewCreated(IVsTextView textViewAdapter) { System.Diagnostics.Debug.Print("document create"); var view = AdaptersFactory.GetWpfTextView(textViewAdapter); Debug.Assert(view != null); view.GotAggregateFocus += view_GotAggregateFocus; view.Closed += view_Closed; view.TextBuffer.Changed += TextBuffer_Changed; CompletionFilter = new Intellisense.CompletionCommandFilter(view, CompletionBroker); IOleCommandTarget next; textViewAdapter.AddCommandFilter(CompletionFilter, out next); CompletionFilter.Next = next; var filter = new EditorCommandFilter(view); textViewAdapter.AddCommandFilter(filter, out next); filter.Next = next; EditorReport.TextViewCreated(view); }
// we need this because VS won't give us certain keyboard events as they're handled before our key processor. These // include enter and tab both of which we want to complete. private void AttachKeyboardFilter() { if (_oldTarget == null) { ErrorHandler.ThrowOnFailure(AdaptersFactory.GetViewAdapter(_textView).AddCommandFilter(this, out _oldTarget)); } }
private void DetachKeyboardFilter() { if (_oldTarget != null) { ErrorHandler.ThrowOnFailure(AdaptersFactory.GetViewAdapter(_textView).RemoveCommandFilter(this)); _oldTarget = null; } }
private void DetachKeyboardFilter() { if (_intelliSenseManager.NextCommandHandler != null) { ErrorHandler.ThrowOnFailure(AdaptersFactory.GetViewAdapter(_textView).RemoveCommandFilter(this)); _intelliSenseManager.NextCommandHandler = null; } }
// we need this because VS won't give us certain keyboard events as they're handled before our key processor. These // include enter and tab both of which we want to complete. internal void AttachKeyboardFilter() { if (_oldTarget == null) { var viewAdapter = AdaptersFactory.GetViewAdapter(_textView); if (viewAdapter != null) { ErrorHandler.ThrowOnFailure(viewAdapter.AddCommandFilter(this, out _oldTarget)); } } }
// we need this because VS won't give us certain keyboard events as they're handled before our key processor. These // include enter and tab both of which we want to complete. internal void AttachKeyboardFilter() { if (_intelliSenseManager.NextCommandHandler == null) { var viewAdapter = AdaptersFactory.GetViewAdapter(_textView); if (viewAdapter != null) { IOleCommandTarget oldTarget; ErrorHandler.ThrowOnFailure(viewAdapter.AddCommandFilter(this, out oldTarget)); _intelliSenseManager.NextCommandHandler = oldTarget; } } }
public IMouseProcessor GetAssociatedProcessor(IWpfTextView wpfTextView) { System.Windows.Threading.Dispatcher.CurrentDispatcher.BeginInvoke(new Action(() => { var view = AdaptersFactory.GetViewAdapter(wpfTextView); if (view != null) { StandardCommandDispatcher.Register(view, wpfTextView, GetServices()); } })); return(null); }
public void VsTextViewCreated(IVsTextView textViewAdapter) { IWpfTextView view = AdaptersFactory.GetWpfTextView(textViewAdapter); if (!DocumentService.TryGetTextDocument(view.TextBuffer, out ITextDocument doc)) { return; } doc.FileActionOccurred += DocumentSaved; _node = view.Properties.GetOrCreateSingletonProperty(() => new NodeProcess()); }
public void VsTextViewCreated(IVsTextView textViewAdapter) { IWpfTextView view = AdaptersFactory.GetWpfTextView(textViewAdapter); if (!DocumentService.TryGetTextDocument(view.TextBuffer, out ITextDocument doc)) { return; } ITextBufferUndoManager undoManager = UndoProvider.GetTextBufferUndoManager(view.TextBuffer); var cmd = new PrettierCommand(view, undoManager, doc.Encoding, doc.FilePath); view.Properties.AddProperty("prettierCommand", cmd); AddCommandFilter(textViewAdapter, cmd); }
public async void VsTextViewCreated(IVsTextView textViewAdapter) { IWpfTextView view = AdaptersFactory.GetWpfTextView(textViewAdapter); if (!DocumentService.TryGetTextDocument(view.TextBuffer, out ITextDocument doc)) { return; } ITextBufferUndoManager undoManager = UndoProvider.GetTextBufferUndoManager(view.TextBuffer); NodeProcess node = view.Properties.GetOrCreateSingletonProperty(() => new NodeProcess()); AddCommandFilter(textViewAdapter, new PrettierCommand(view, undoManager, node, doc.Encoding, doc.FilePath)); if (!node.IsReadyToExecute()) { await Install(node); } }
public void VsTextViewCreated(IVsTextView textViewAdapter) { ITextView textView = AdaptersFactory.GetWpfTextView(textViewAdapter); _textBuffer = textView.TextBuffer; //NPLProjectNode project = ServiceProvider.GetService(typeof(CommonProjectNode)) as NPLProjectNode; //IServiceProvider serviceProvider = ServiceProvider as IServiceProvider; //IVsSolution sln = serviceProvider.GetService(typeof(SVsSolution)) as IVsSolution; //NPLProjectNode project = sln.GetLoadedProject().GetNPLProject(); //if (!project.GetAnalyzer().HasMonitoredTextBuffer(textView.TextBuffer)) // project.GetAnalyzer().MonitorTextBuffer(textView.TextBuffer); //_analysisEntry = textView.TextBuffer.GetAnalysisAtCaret(ServiceProvider); //textView.Closed += TextView_Closed; IOleCommandTarget next; NPLEditorCommandFilter commandFilter = new NPLEditorCommandFilter(textView, textViewAdapter, ServiceProvider); textViewAdapter.AddCommandFilter(commandFilter, out next); commandFilter.Next = next; }
// This will be triggered when a xml document is opened public void VsTextViewCreated(IVsTextView textViewAdapter) { // Set up the Completion handler for xml documents var view = AdaptersFactory.GetWpfTextView(textViewAdapter); var xmlLanguageService = (XmlLanguageService)ServiceProvider.GetService(typeof(XmlLanguageService)); var quoteChar = xmlLanguageService.XmlPrefs.AutoInsertAttributeQuotes; if (XmlFileIsRibbon(view)) { PreLoadData(); } var filter = new CommandFilter(view, CompletionBroker, quoteChar); IOleCommandTarget next; ErrorHandler.ThrowOnFailure(textViewAdapter.AddCommandFilter(filter, out next)); filter.Next = next; }
public void VsTextViewCreated(IVsTextView textViewAdapter) { IWpfTextView view = AdaptersFactory.GetWpfTextView(textViewAdapter); _view = view; if (!DocumentService.TryGetTextDocument(view.TextBuffer, out ITextDocument doc)) { return; } _project = VsHelpers.DTE.Solution.FindProjectItem(doc.FilePath)?.ContainingProject; if (!_project.SupportsCompilation()) { return; } Settings.Changed += OnSettingsChanged; view.Closed += OnViewClosed; Microsoft.VisualStudio.Shell.ThreadHelper.Generic.BeginInvoke(DispatcherPriority.ApplicationIdle, async() => { bool isEnabled = _project.IsLessCompilationEnabled(); LessAdornment adornment = view.Properties.GetOrCreateSingletonProperty(() => new LessAdornment(view, _project)); if (isEnabled && await LessCatalog.EnsureCatalog(_project)) { CompilerOptions options = LessCatalog.Catalog[_project.UniqueName].LessFiles.Keys.FirstOrDefault(l => l.InputFilePath == doc.FilePath); if (options != null) { await adornment.Update(options); } } }); doc.FileActionOccurred += DocumentSaved; }
public void VsTextViewCreated(IVsTextView textViewAdapter) { IWpfTextView view = AdaptersFactory.GetWpfTextView(textViewAdapter); if (!DocumentService.TryGetTextDocument(view.TextBuffer, out ITextDocument doc)) { return; } ITextBufferUndoManager undoManager = UndoProvider.GetTextBufferUndoManager(view.TextBuffer); NodeProcess node = view.Properties.GetOrCreateSingletonProperty(() => new NodeProcess()); var cmd = new PrettierCommand(view, undoManager, node, doc.Encoding, doc.FilePath); view.Properties.AddProperty("prettierCommand", cmd); AddCommandFilter(textViewAdapter, cmd); if (!node.IsReadyToExecute()) { node.EnsurePackageInstalledAsync().ConfigureAwait(false); } }
private void DetachKeyboardFilter() { ErrorHandler.ThrowOnFailure(AdaptersFactory.GetViewAdapter(_textView).RemoveCommandFilter(this)); }