From a31fca602f8bf7ab7c6fe51aba0115749ece0534 Mon Sep 17 00:00:00 2001 From: Lluis Sanchez Date: Thu, 9 May 2019 17:33:58 +0200 Subject: Improve unit test service initialization time Delay initialization of package service until the first solution is opened --- .../MonoDevelop.UnitTesting/Services/UnitTestService.cs | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) (limited to 'main/src/addins/MonoDevelop.UnitTesting') diff --git a/main/src/addins/MonoDevelop.UnitTesting/Services/UnitTestService.cs b/main/src/addins/MonoDevelop.UnitTesting/Services/UnitTestService.cs index 04c3715e09..ba945712a3 100644 --- a/main/src/addins/MonoDevelop.UnitTesting/Services/UnitTestService.cs +++ b/main/src/addins/MonoDevelop.UnitTesting/Services/UnitTestService.cs @@ -50,6 +50,7 @@ namespace MonoDevelop.UnitTesting { static ArrayList providers = new ArrayList (); static UnitTest[] rootTests = Array.Empty (); + static bool packageEventsInitialized; static UnitTestService () { @@ -61,11 +62,16 @@ namespace MonoDevelop.UnitTesting IdeApp.Workspace.ItemRemovedFromSolution += OnItemsChangedInSolution; IdeApp.Workspace.ReferenceAddedToProject += OnReferenceChangedInProject; IdeApp.Workspace.ReferenceRemovedFromProject += OnReferenceChangedInProject; - - PackageManagementServices.ProjectOperations.PackageReferenceAdded += ProjectOperations_PackageReferencesModified; - PackageManagementServices.ProjectOperations.PackageReferenceRemoved += ProjectOperations_PackageReferencesModified; - PackageManagementServices.ProjectOperations.PackagesRestored += ProjectOperations_PackageReferencesModified; - + + IdeApp.Workspace.FirstWorkspaceItemOpened += (s,a) => { + if (!packageEventsInitialized) { + packageEventsInitialized = true; + PackageManagementServices.ProjectOperations.PackageReferenceAdded += ProjectOperations_PackageReferencesModified; + PackageManagementServices.ProjectOperations.PackageReferenceRemoved += ProjectOperations_PackageReferencesModified; + PackageManagementServices.ProjectOperations.PackagesRestored += ProjectOperations_PackageReferencesModified; + } + }; + Mono.Addins.AddinManager.AddExtensionNodeHandler ("/MonoDevelop/UnitTesting/TestProviders", OnExtensionChange); RebuildTests (); -- cgit v1.2.3