private void SetupProviders(DTE dte, IVsPackageManagerFactory packageManagerFactory, IPackageRepositoryFactory packageRepositoryFactory, IPackageSourceProvider packageSourceProvider, ProviderServices providerServices, IPackageRepository recentPackagesRepository, IHttpClientEvents httpClientEvents) { IVsPackageManager packageManager = packageManagerFactory.CreatePackageManager(); Project activeProject = dte.GetActiveProject(); // Create a cached project manager so that checking for installed packages is fast IProjectManager projectManager = packageManager.GetProjectManager(activeProject); var recentProvider = new RecentProvider( activeProject, projectManager, Resources, packageRepositoryFactory, packageManagerFactory, recentPackagesRepository, packageSourceProvider, providerServices, httpClientEvents); var updatesProvider = new UpdatesProvider( activeProject, projectManager, Resources, packageRepositoryFactory, packageSourceProvider, packageManagerFactory, providerServices, httpClientEvents); var onlineProvider = new OnlineProvider( activeProject, projectManager, Resources, packageRepositoryFactory, packageSourceProvider, packageManagerFactory, providerServices, httpClientEvents); var installedProvider = new InstalledProvider( packageManager, activeProject, projectManager, Resources, providerServices, httpClientEvents); explorer.Providers.Add(installedProvider); explorer.Providers.Add(onlineProvider); explorer.Providers.Add(updatesProvider); explorer.Providers.Add(recentProvider); // retrieve the selected provider from the settings int selectedProvider = Math.Min(3, _selectedProviderSettings.SelectedProvider); explorer.SelectedProvider = explorer.Providers[selectedProvider]; }