protected override void OnSaveOptions(string key, Stream stream) { base.OnSaveOptions(key, stream); if (key == SolutionOptionKey) { Logger.Info("Saving all commands."); if (IsVcsSupportEnabled) { Logger.Info("VcsSupport is enabled."); foreach (var propjectGuid in ToolWindowViewModel.TreeViewModel.Projects.Keys) { var project = vsHelper.HierarchyForProjectGuid(propjectGuid); SaveJsonForProject(project); } } toolWindowStateLoadedFromSolution = ToolWindowSolutionDataSerializer.Serialize(ToolWindowViewModel, stream); Logger.Info("All Commands Saved."); } }
private void OnTreeContentChanged(object sender, TreeViewModel.TreeChangedEventArgs e) { if (IsVcsSupportEnabled) { Logger.Info($"Tree content changed and VCS support is enabled. Saving all project commands to json file for project '{e.AffectedProject.Id}'."); var projectGuid = e.AffectedProject.Id; try { var project = vsHelper.HierarchyForProjectGuid(projectGuid); fileStorage.SaveProject(project); } catch (Exception ex) { string msg = $"Failed to save json for project '{projectGuid}' with error: {ex}"; Logger.Error(msg); MessageBox.Show(msg); } } }