示例#1
0
        /// <summary>
        /// Called by environment to mark a particular source control package as active.
        /// </summary>
        /// <returns>
        /// The method returns <see cref="F:Microsoft.VisualStudio.VSErr.S_OK"></see>.
        /// </returns>
        protected override void SetActive(bool active)
        {
            base.SetActive(active);

            if (active)
            {
                // Send activate before scheduling glyphs to make sure the project data is
                // loaded
                GetService <IAnkhServiceEvents>().OnSccProviderActivated(EventArgs.Empty);

                // Delayed flush all glyphs of all projects when a user enables us.

                List <SccProject> allProjects = new List <SccProject>(ProjectMap.GetAllSccProjects());
                allProjects.Add(SccProject.Solution);
                Monitor.ScheduleGlyphOnlyUpdate(allProjects);

                RegisterForSccCleanup();
            }
            else
            {
                _unreloadable.Clear();

                GetService <IAnkhServiceEvents>().OnSccProviderDeactivated(EventArgs.Empty);
            }
        }
示例#2
0
 public IEnumerable <Selection.SccProject> GetAllSccProjects()
 {
     return(ProjectMap.GetAllSccProjects());
 }