public LanguageInfo(SVsServiceProvider serviceProvider, Guid languageGuid) { if (serviceProvider == null) { throw new ArgumentNullException("serviceProvider"); } this._serviceProvider = serviceProvider; this._languageGuid = languageGuid; IVsTextManager2 manager = serviceProvider.GetTextManager2(); LANGPREFERENCES2[] pLangPrefs = new LANGPREFERENCES2[1]; pLangPrefs[0].guidLang = languageGuid; ErrorHandler.ThrowOnFailure(manager.GetUserPreferences2(null, null, pLangPrefs, null)); this._languagePreferences = this.CreateLanguagePreferences(pLangPrefs[0]); this._languagePreferencesCookie = ((IConnectionPointContainer) manager).Advise<Smi.VisualStudio.Language.LanguagePreferences, IVsTextManagerEvents2>(this._languagePreferences); }
public CodeWindowManager(IVsCodeWindow codeWindow, SVsServiceProvider serviceProvider, Smi.VisualStudio.Language.LanguagePreferences languagePreferences) { //System.Diagnostics.Contracts.Contract.Requires<ArgumentNullException>(codeWindow != null, "codeWindow"); //System.Diagnostics.Contracts.Contract.Requires<ArgumentNullException>(serviceProvider != null, "serviceProvider"); //System.Diagnostics.Contracts.Contract.Requires<ArgumentNullException>(languagePreferences != null, "languagePreferences"); Action<EventHandler> unregister = null; this._codeWindow = codeWindow; this._serviceProvider = serviceProvider; this._languagePreferences = languagePreferences; if (unregister == null) { unregister = delegate (EventHandler handler) { this._languagePreferences.PreferencesChanged -= handler; }; } this._languagePreferences.PreferencesChanged += WeakEvents.AsWeak(new EventHandler(this.HandleLanguagePreferencesChanged), unregister); }