/// <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); }
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; */ }