コード例 #1
0
        /// <summary>
        /// Returns all solutions for the given project, populating db metadata if a valid task file is found
        /// </summary>
        /// <returns></returns>
        private List <SolutionProject> GetTaskListsForOpenSolution()
        {
            // Any access to the VS Shell or internals should only be done on the main UI thread
            VSSHell.ThreadHelper.ThrowIfNotOnUIThread();
            var VSI      = new VisualStudioInternals();
            var projects = VSI.GetProjectsForSolution();

            foreach (var project in projects)
            {
                GetTaskDatabaseForProject(project);
            }

            return(projects);
        }
コード例 #2
0
        private void BindSolutionChangeEvent()
        {
            // Any access to the VS Shell or internals should only be done on the main UI thread
            VSShell.ThreadHelper.ThrowIfNotOnUIThread();
            var VSI = new VisualStudioInternals();
            var dte = VSI.GetActiveIDE();

            _solutionEvents = dte.Events.SolutionEvents;

            _solutionEvents.Opened       += SolutionEvents_Opened;
            _solutionEvents.AfterClosing += _solutionEvents_AfterClosing;

            /*
             * _solutionEvents.ProjectAdded += _solutionEvents_ProjectAdded;
             * _solutionEvents.ProjectRemoved += _solutionEvents_ProjectRemoved;
             * // rename should open a dialog prompt to rename a task file if it exists
             * _solutionEvents.ProjectRenamed += _solutionEvents_ProjectRenamed;
             */
        }