diff --git a/src/AddIns/DisplayBindings/HexEditor/Project/Src/Editor.cs b/src/AddIns/DisplayBindings/HexEditor/Project/Src/Editor.cs index c88ff715ba..fab5025825 100644 --- a/src/AddIns/DisplayBindings/HexEditor/Project/Src/Editor.cs +++ b/src/AddIns/DisplayBindings/HexEditor/Project/Src/Editor.cs @@ -1413,6 +1413,14 @@ namespace HexEditor this.Delete(); } break; + // Ctrl-Y is pressed -> redo + case 89: + Redo(); + break; + // Ctrl-Z is pressed -> undo + case 90: + Undo(); + break; } break; } diff --git a/src/AddIns/Misc/PackageManagement/Project/Src/RestorePackagesCommand.cs b/src/AddIns/Misc/PackageManagement/Project/Src/RestorePackagesCommand.cs index 76a175950d..5020d26206 100644 --- a/src/AddIns/Misc/PackageManagement/Project/Src/RestorePackagesCommand.cs +++ b/src/AddIns/Misc/PackageManagement/Project/Src/RestorePackagesCommand.cs @@ -18,6 +18,9 @@ using System; using System.IO; +using System.Linq; +using System.Threading.Tasks; + using ICSharpCode.Core; using ICSharpCode.SharpDevelop; using ICSharpCode.SharpDevelop.Gui; @@ -71,7 +74,33 @@ namespace ICSharpCode.PackageManagement var runner = new ProcessRunner(); runner.WorkingDirectory = Path.GetDirectoryName(solution.FileName); - runner.RunInOutputPadAsync(outputMessagesView.OutputCategory, commandLine.Command, commandLine.Arguments).FireAndForget(); + runner.RunInOutputPadAsync(outputMessagesView.OutputCategory, commandLine.Command, commandLine.Arguments) + .ContinueWith(task => OnNuGetPackageRestoreComplete(task)); + } + + void OnNuGetPackageRestoreComplete(Task task) + { + if (task.Exception != null) { + LoggingService.Debug(task.Exception.ToString()); + outputMessagesView.AppendLine(task.Exception.Message); + } else { + ForceGenerationOfRepositoriesConfigFile(); + } + } + + /// + /// Create a Package Manager for each project to force a new repositories.config file + /// to be generated with references to all projects that have NuGet packages. + /// + void ForceGenerationOfRepositoriesConfigFile() + { + try { + var repository = PackageManagementServices.RegisteredPackageRepositories.CreateAggregateRepository(); + var projects = solution.GetProjects(repository).ToList(); + } catch (Exception ex) { + LoggingService.Debug(ex.ToString()); + outputMessagesView.AppendLine(ex.Message); + } } } }