public LanguageInfo(SVsServiceProvider serviceProvider, Guid languageGuid) { Contract.Requires <ArgumentNullException>(serviceProvider != null, "serviceProvider"); _serviceProvider = serviceProvider; _languageGuid = languageGuid; IVsTextManager2 textManager = serviceProvider.GetTextManager2(); LANGPREFERENCES2[] preferences = new LANGPREFERENCES2[1]; preferences[0].guidLang = languageGuid; ErrorHandler.ThrowOnFailure(textManager.GetUserPreferences2(null, null, preferences, null)); _languagePreferences = CreateLanguagePreferences(preferences[0]); _languagePreferencesCookie = ((IConnectionPointContainer)textManager).Advise <LanguagePreferences, IVsTextManagerEvents2>(_languagePreferences); }
internal void Initialize() { ThreadHelper.ThrowIfNotOnUIThread(); IVsTextManager2 textManager = (IVsTextManager2)this.serviceProvider.GetService(typeof(SVsTextManager)); VIEWPREFERENCES2[] viewPreferences = new VIEWPREFERENCES2[] { new VIEWPREFERENCES2() }; LANGPREFERENCES2[] languagePreferences = new LANGPREFERENCES2[] { new LANGPREFERENCES2() { guidLang = Guids.Service } }; int hresult = textManager.GetUserPreferences2(viewPreferences, pFramePrefs: null, pLangPrefs: languagePreferences, pColorPrefs: null); //ErrorHandler.ThrowOnFailure(hresult); this.UpdatePreferences(viewPreferences, languagePreferences); this.connectionPoint = new AxHost.ConnectionPointCookie(textManager, this, typeof(IVsTextManagerEvents2)); }
/// <include file='doc\Preferences.uex' path='docs/doc[@for="LanguagePreferences.GetLanguagePrefs"]/*' /> public virtual void GetLanguagePreferences() { IVsTextManager textMgr = site.GetService(typeof(SVsTextManager)) as IVsTextManager; if (textMgr != null) { this.prefs.guidLang = langSvc; IVsTextManager2 textMgr2 = site.GetService(typeof(SVsTextManager)) as IVsTextManager2; if (textMgr != null) { LANGPREFERENCES2[] langPrefs2 = new LANGPREFERENCES2[1]; langPrefs2[0] = this.prefs; if (NativeMethods.Succeeded(textMgr2.GetUserPreferences2(null, null, langPrefs2, null))) { this.prefs = langPrefs2[0]; } else { Debug.Assert(false, "textMgr2.GetUserPreferences2"); } } } }