示例#1
0
        protected override void Dispose(bool disposing)
        {
            if (disposing)
            {
                if (_trackDocumentsEventsCookie != 0)
                {
                    var serviceProvider = this.AsVsServiceProvider();
                    IVsTrackProjectDocuments2 trackDocuments = serviceProvider.GetTrackProjectDocuments2();
                    trackDocuments.UnadviseTrackProjectDocumentsEvents(_trackDocumentsEventsCookie);
                    _trackDocumentsEventsCookie = 0;
                }

                if (_grammarFileObjectExtenderCookie != 0)
                {
                    ObjectExtenders objectExtenders = (ObjectExtenders)GetService(typeof(ObjectExtenders));
                    objectExtenders.UnregisterExtenderProvider(_grammarFileObjectExtenderCookie);
                    _grammarFileObjectExtenderCookie = 0;
                }

                if (_languageInfo != null)
                {
                    _languageInfo.Dispose();
                    _languageInfo = null;
                }

                if (_languageInfo4 != null)
                {
                    _languageInfo4.Dispose();
                    _languageInfo4 = null;
                }
            }

            base.Dispose(disposing);
        }
示例#2
0
        protected override void Initialize()
        {
            base.Initialize();

            var serviceProvider = this.AsVsServiceProvider();

            // register the language service
            _languageInfo  = new AntlrLanguageInfo(this.AsVsServiceProvider());
            _languageInfo4 = new Antlr4LanguageInfo(this.AsVsServiceProvider());

            ((IServiceContainer)this).AddService(typeof(AntlrLanguageInfo), _languageInfo, true);
            ((IServiceContainer)this).AddService(typeof(Antlr4LanguageInfo), _languageInfo4, true);

            ObjectExtenders objectExtenders = (ObjectExtenders)GetService(typeof(ObjectExtenders));

            _grammarFileObjectExtenderProvider = new GrammarFileObjectExtenderProvider();
            string extenderCatId = Microsoft.VisualStudio.VSConstants.CATID.CSharpFileProperties_string;
            string extenderName  = GrammarFileObjectExtenderProvider.Name;
            string localizedName = GrammarFileObjectExtenderProvider.Name;

            _grammarFileObjectExtenderCookie = objectExtenders.RegisterExtenderProvider(extenderCatId, extenderName, _grammarFileObjectExtenderProvider, localizedName);

            IVsTrackProjectDocuments2 trackDocuments2 = serviceProvider.GetTrackProjectDocuments2();

            trackDocuments2.AdviseTrackProjectDocumentsEvents(this, out _trackDocumentsEventsCookie);
        }