public int GetTextViewFilter(IVsIntellisenseHost pISenseHost, IOleCommandTarget pNextCmdTarget, out IVsTextViewFilter pTextViewFilter) { IVsTextLines buffer; ErrorHandler.ThrowOnFailure(bufferCoordinator.GetSecondaryBuffer(out buffer)); bool doOutlining = LanguageService.Preferences.AutoOutlining; LanguageService.Preferences.AutoOutlining = false; PythonSource source = LanguageService.CreateSource(buffer) as PythonSource; LanguageService.Preferences.AutoOutlining = doOutlining; CodeWindowManager windowMgr = LanguageService.CreateCodeWindowManager(null, source); language.AddCodeWindowManager(windowMgr); TextViewWrapper view = new TextViewWrapper(languageHost, pISenseHost, bufferCoordinator, pNextCmdTarget); windowMgr.OnNewView(view); language.AddSpecialSource(source, view); pTextViewFilter = view.InstalledFilter; PythonViewFilter pythonFilter = pTextViewFilter as PythonViewFilter; if (null != pythonFilter) { pythonFilter.BufferCoordinator = this.bufferCoordinator; } return(VSConstants.S_OK); }
public override ViewFilter CreateViewFilter(CodeWindowManager mgr, IVsTextView newView) { // This call makes sure debugging events can be received // by our view filter. base.GetIVsDebugger(); return(new PythonViewFilter(mgr, newView)); }
/// <include file='doc\LanguageService.uex' path='docs/doc[@for="LanguageService.OnCaretMoved"]/*' /> /// Переопределяем этот метод, чтобы вызвать SynchronizeDropdowns у /// NemerleTypeAndMemberDropdownBars, а не CodeWindowManager, а так же обновить /// информацию в Engine о активном файле и позиции в нем. Это требуется для ускорения /// типизации методов с которыми в данный момент взаимодействует пользователь. public override void OnCaretMoved(CodeWindowManager mgr, IVsTextView textView, int line, int col) { if (mgr.DropDownHelper != null) { var dropDownHelper = (NemerleTypeAndMemberDropdownBars)mgr.DropDownHelper; dropDownHelper.SynchronizeDropdownsRsdn(textView, line, col); UpdateViewInfo(textView, line, col); } }
public EpochTextViewFilter(IVsDebugger debugger, CodeWindowManager mgr, IVsTextView textView, IWpfTextView wpfTextView) : base(mgr, textView) { ThreadHelper.ThrowIfNotOnUIThread(); Debugger = debugger; WpfTextView = wpfTextView; textView.GetBuffer(out TextLines); }
internal CodeWindowManager GetOrCreateCodeWindowManager(IVsCodeWindow window) { CodeWindowManager value; if (!_codeWindowManagers.TryGetValue(window, out value)) { _codeWindowManagers[window] = value = new CodeWindowManager(window, this.AsVsServiceProvider()); } return(value); }
internal CodeWindowManager GetOrCreateCodeWindowManager(IVsCodeWindow window) { CodeWindowManager value; if (!_codeWindowManagers.TryGetValue(window, out value)) { _codeWindowManagers[window] = value = new CodeWindowManager(_container, window); } return(value); }
void NavigateTo(XmlNodeInfo info) { try { this.currentDocument.Show(); TextSpan span = info.CurrentSpan; CodeWindowManager mgr = this.currentDocument.Source.LanguageService.GetCodeWindowManagerForSource(this.currentDocument.Source); IVsTextView view; mgr.CodeWindow.GetLastActiveView(out view); view.SetSelection(span.iStartLine, span.iStartIndex, span.iEndLine, span.iEndIndex); view.EnsureSpanVisible(span); } catch { } }
/// <summary> /// Creates DAX Document Properties object, stores in private member and returns the reference to it. /// </summary> /// <param name="mgr"></param> /// <returns>Reference to DAX Document Properties.</returns> public override DocumentProperties CreateDocumentProperties(CodeWindowManager mgr) { DaxDocumentProperties daxDocumentProperties = new DaxDocumentProperties(mgr); // Initialize BismProvider for given Document/Source/CodeWindowManager Babel.Source babelSource = mgr.Source as Babel.Source; if (babelSource != null) { BismProvider = new BismInfoProvider(daxDocumentProperties); babelSource.BismInfoProvider = BismProvider; } return(daxDocumentProperties); }
public int OnUserPreferencesChanged2(VIEWPREFERENCES2[] pViewPrefs, FRAMEPREFERENCES2[] pFramePrefs, LANGPREFERENCES2[] pLangPrefs, FONTCOLORPREFERENCES2[] pColorPrefs) { if (pLangPrefs != null) { _preferences.IndentStyle = pLangPrefs[0].IndentStyle; _preferences.fAutoListMembers = pLangPrefs[0].fAutoListMembers; _preferences.fAutoListParams = pLangPrefs[0].fAutoListParams; if (_preferences.fDropdownBar != (_preferences.fDropdownBar = pLangPrefs[0].fDropdownBar)) { CodeWindowManager.ToggleNavigationBar(_preferences.fDropdownBar != 0); } } return(VSConstants.S_OK); }
public int OnUserPreferencesChanged2(VIEWPREFERENCES2[] viewPrefs, FRAMEPREFERENCES2[] framePrefs, LANGPREFERENCES2[] langPrefs, FONTCOLORPREFERENCES2[] colorPrefs) { if (langPrefs != null && langPrefs.Length > 0 && langPrefs[0].guidLang == this._preferences.guidLang) { _preferences.IndentStyle = langPrefs[0].IndentStyle; _preferences.fAutoListMembers = langPrefs[0].fAutoListMembers; _preferences.fAutoListParams = langPrefs[0].fAutoListParams; _preferences.fHideAdvancedAutoListMembers = langPrefs[0].fHideAdvancedAutoListMembers; if (_preferences.fDropdownBar != (_preferences.fDropdownBar = langPrefs[0].fDropdownBar)) { CodeWindowManager.ToggleNavigationBar(_preferences.fDropdownBar != 0); } } return(VSConstants.S_OK); }
// После закрытия aspx файла исключим автосгенерированный исходник из списка компиляции проекта void OnDocumentClosing(EnvDTE.Document document) { if (Location.GetFileIndex(document.FullName) == Location.GetFileIndex(_filePath)) { try { if (_windowManager != null) { // RemoveAdornments вызывает уничтожение (close и dispose) view filter и source, связанных с _windowManager _windowManager.RemoveAdornments(); } } finally { _windowManager = null; _documentEvents.DocumentClosing -= _documentClosingEventHandler; } } }
public int GetCodeWindowManager(IVsCodeWindow pCodeWin, out IVsCodeWindowManager ppCodeWinMgr) { ppCodeWinMgr = null; return(VSConstants.E_NOTIMPL); var model = _serviceProvider.GetService(typeof(SComponentModel)) as IComponentModel; var service = model.GetService <IVsEditorAdaptersFactoryService>(); IVsTextView textView; if (ErrorHandler.Succeeded(pCodeWin.GetPrimaryView(out textView))) { ppCodeWinMgr = new CodeWindowManager(_serviceProvider, pCodeWin, service.GetWpfTextView(textView)); return(VSConstants.S_OK); } ppCodeWinMgr = null; return(VSConstants.E_FAIL); }
} // func CreateSource public override ViewFilter CreateViewFilter(CodeWindowManager mgr, IVsTextView newView) { return(new NeoLuaViewFilter(mgr, newView)); } // func CreateViewFilter
public FoxProViewFilter(CodeWindowManager mgr, IVsTextView view) : base(mgr, view) { }
public PythonViewFilter(CodeWindowManager mgr, IVsTextView view) : base(mgr, view) { }
public override ViewFilter CreateViewFilter(CodeWindowManager mgr, IVsTextView newView) { return(new EpochTextViewFilter(base.GetIVsDebugger(), mgr, newView, AdapterService.GetWpfTextView(newView))); }
public void RemoveCodeWindowManager(CodeWindowManager m);
public SoalLanguageViewFilter(CodeWindowManager mgr, IVsTextView view) : base(mgr, view) { }
public int GetTextViewFilter(IVsIntellisenseHost pISenseHost, IOleCommandTarget pNextCmdTarget, out IVsTextViewFilter pTextViewFilter) { pTextViewFilter = null; IVsTextLines buffer; ErrorHandler.ThrowOnFailure(bufferCoordinator.GetSecondaryBuffer(out buffer)); var secondaryFilePath = FilePathUtilities.GetFilePath(buffer); if (secondaryFilePath == null) { secondaryFilePath = NemerleSource.GetStubFileForSecondaryBuffer(buffer); } var secondaryFileIndex = Location.GetFileIndex(secondaryFilePath); var primaryFileindex = Location.GetFileIndex(_filePath); bool doOutlining = LanguageService.Preferences.AutoOutlining; LanguageService.Preferences.AutoOutlining = false; if (_projectInfo != null && LanguageService.GetSource(buffer) == null) { // создаем и регистрируем в проекте временный source, чтобы не сломалась логика // конструктора NemerleSource (см вызов LanguageService.AddEditableSource) //_projectInfo.ReplaseOrAddSource(new FileNemerleSource(secondaryFileIndex)); _projectInfo.AddEditableSource((NemerleSource)LanguageService.CreateSource(buffer)); } NemerleSource source = LanguageService.GetOrCreateSource(buffer) as NemerleSource; source.SetBufferCoordinator(bufferCoordinator); if (_projectInfo != null) { _projectInfo.Engine.RequestOnBuildTypesTree(); } LanguageService.Preferences.AutoOutlining = doOutlining; _windowManager = LanguageService.CreateCodeWindowManager(null, source); language.AddCodeWindowManager(_windowManager); // увеличиваем внутренний счетчик openCount, для того чтобы впоследствии корректно отработала логика закрытия соурса source.Open(); TextViewWrapper view = new TextViewWrapper(languageHost, pISenseHost, bufferCoordinator, pNextCmdTarget, source); _windowManager.OnNewView(view); pTextViewFilter = view.InstalledFilter; NemerleViewFilter nemerleFilter = pTextViewFilter as NemerleViewFilter; if (null != nemerleFilter) { nemerleFilter.BufferCoordinator = this.bufferCoordinator; } // сохраним значение DocumentEvents в переменной класса, чтобы исключить преждевременное уничтожение // объекта и автоматическоей отписывание от событий. // // Источник решения: // PRB: Visual Studio .NET events being disconnected from add-in (http://www.mztools.com/articles/2005/mz2005012.aspx) _documentEvents = _projectItem.DTE.Events.get_DocumentEvents(_projectItem.Document); _documentEvents.DocumentClosing += _documentClosingEventHandler; return(VSConstants.S_OK); }
internal XSharpViewFilter(CodeWindowManager mgr, IVsTextView view) : base(mgr, view) { }
public NemerleViewFilter(CodeWindowManager mgr, IVsTextView view) : base(mgr, view) { }
public override ViewFilter CreateViewFilter(CodeWindowManager mgr, IVsTextView newView) { return(new NShaderViewFilter(this, mgr, newView)); }
public override CodeWindowManager CreateCodeWindowManager(IVsCodeWindow codeWindow, Source source) { CodeWindowManager m = base.CreateCodeWindowManager(codeWindow, source); return(m); }
public DaxDocumentProperties(CodeWindowManager mgr) : base(mgr) { }
public virtual void OnCaretMoved(CodeWindowManager mgr, IVsTextView textView, int line, int col);
public MockFilter(CodeWindowManager windowManager, IVsTextView view) : base(windowManager, view) { }
public IronyViewFilter(CodeWindowManager mgr, IVsTextView view) : base(mgr, view) { }
public override ViewFilter CreateViewFilter(CodeWindowManager mgr, IVsTextView newView) { return(new CMakeViewFilter(mgr, newView)); }
public NeoLuaViewFilter(CodeWindowManager mgr, IVsTextView view) : base(mgr, view) { } // ctor
public NShaderViewFilter(NShaderLanguageService langService, CodeWindowManager mgr, IVsTextView view) : base(mgr, view) { this.langService = langService; }
public void AddCodeWindowManager(CodeWindowManager m);
public override ViewFilter CreateViewFilter(CodeWindowManager mgr, IVsTextView newView) { // still needed for snippets. Once that is moved to MEF then this can disappear return(new XSharpViewFilter(mgr, newView)); }
public virtual DocumentProperties CreateDocumentProperties(CodeWindowManager mgr);
public virtual ViewFilter CreateViewFilter(CodeWindowManager mgr, IVsTextView newView);