Esempio n. 1
0
        /// <summary>
        /// Initialization of the package; this method is called right after the package is sited, so this is the place
        /// where you can put all the initilaization code that rely on services provided by VisualStudio.
        /// </summary>
        protected override void Initialize()
        {
            base.Initialize();

            Log.Initialize();
            ProbeEnvironment.Initialize();
            TempManager.Init(TempDir);
            Snippets.SnippetDeploy.DeploySnippets();
            CodeModel.SignatureDocumentor.Initialize();

            ThreadHelper.ThrowIfNotOnUIThread();

            // Proffer the service.	http://msdn.microsoft.com/en-us/library/bb166498.aspx
            var langService = new ProbeLanguageService(this);

            langService.SetSite(this);
            (this as IServiceContainer).AddService(typeof(ProbeLanguageService), langService, true);

            // Register a timer to call our language service during idle periods.
            var mgr = GetService(typeof(SOleComponentManager)) as IOleComponentManager;

            if (_componentId == 0 && mgr != null)
            {
                OLECRINFO[] crinfo = new OLECRINFO[1];
                crinfo[0].cbSize            = (uint)Marshal.SizeOf(typeof(OLECRINFO));
                crinfo[0].grfcrf            = (uint)_OLECRF.olecrfNeedIdleTime | (uint)_OLECRF.olecrfNeedPeriodicIdleTime;
                crinfo[0].grfcadvf          = (uint)_OLECADVF.olecadvfModal | (uint)_OLECADVF.olecadvfRedrawOff | (uint)_OLECADVF.olecadvfWarningsOff;
                crinfo[0].uIdleTimeInterval = 1000;
                int hr = mgr.FRegisterComponent(this, crinfo, out _componentId);
            }

            _errorTaskProvider = new ErrorTagging.ErrorTaskProvider(this);
            TaskListService.RegisterTaskProvider(_errorTaskProvider, out _errorTaskProviderCookie);

            var mcs = GetService(typeof(IMenuCommandService)) as OleMenuCommandService;

            if (mcs != null)
            {
                Commands.InitCommands(mcs);
            }

            _functionScanner = new FunctionFileScanning.FFScanner();

            // Need to keep a reference to Events and DocumentEvents in order for DocumentSaved to be triggered.
            _dteEvents = Shell.DTE.Events;

            _dteDocumentEvents = _dteEvents.DocumentEvents;
            _dteDocumentEvents.DocumentSaved += DocumentEvents_DocumentSaved;

            Microsoft.VisualStudio.PlatformUI.VSColorTheme.ThemeChanged += VSColorTheme_ThemeChanged;
        }
Esempio n. 2
0
 public ErrorTaskProvider(IServiceProvider provider)
     : base(provider)
 {
     Instance = this;
 }