public RepositorySettings(ISolutionManager solutionManager, IFileSystemProvider fileSystemProvider, IVsSourceControlTracker sourceControlTracker) { if (solutionManager == null) { throw new ArgumentNullException("solutionManager"); } if (fileSystemProvider == null) { throw new ArgumentNullException("fileSystemProvider"); } if (sourceControlTracker == null) { throw new ArgumentNullException("sourceControlTracker"); } _solutionManager = solutionManager; _fileSystemProvider = fileSystemProvider; EventHandler resetConfiguration = (sender, e) => { // Kill our configuration cache when someone closes the solution _configurationPath = null; _fileSystem = null; }; _solutionManager.SolutionClosing += resetConfiguration; sourceControlTracker.SolutionBoundToSourceControl += resetConfiguration; }
internal RepositorySettings( ISolutionManager solutionManager, IFileSystemProvider fileSystemProvider, IVsSourceControlTracker sourceControlTracker) : this(solutionManager, fileSystemProvider, sourceControlTracker, machineWideSettings: null) { }
internal RepositorySettings( ISolutionManager solutionManager, IFileSystemProvider fileSystemProvider, IVsSourceControlTracker sourceControlTracker) : this(solutionManager, fileSystemProvider, sourceControlTracker, machineWideSettings : null) { }
/// <summary> /// Initialization of the package; this method is called right after the package is sited, so this is the place /// where you can put all the initialization code that rely on services provided by VisualStudio. /// </summary> protected override void Initialize() { base.Initialize(); LoadSettings(); Styles.LoadVsStyles(); Brushes.LoadVsBrushes(); // *** // VsNuGetDiagnostics.Initialize( // ServiceLocator.GetInstance<IDebugConsoleController>()); // Add our command handlers for menu (commands must exist in the .vsct file) AddMenuCommandHandlers(); // IMPORTANT: Do NOT do anything that can lead to a call to ServiceLocator.GetGlobalService(). // Doing so is illegal and may cause VS to hang. _dte = (DTE)GetService(typeof(SDTE)); Debug.Assert(_dte != null); _dteEvents = _dte.Events.DTEEvents; _dteEvents.OnBeginShutdown += OnBeginShutDown; _outputConsoleLogger = new OutputConsoleLogger(this); SetDefaultCredentialProvider(); if (SolutionManager != null) { SolutionManager.SolutionOpened += (obj, ev) => { _nugetSettings = new NuGetSettings(); LoadNuGetSettings(); }; } _uiProjectContext = new NuGetUIProjectContext( _outputConsoleLogger, SourceControlManagerProvider, CommonOperations); if (SolutionManager.NuGetProjectContext == null) { SolutionManager.NuGetProjectContext = _uiProjectContext; } // when NuGet loads, if the current solution has some package // folders marked for deletion (because a previous uninstalltion didn't succeed), // delete them now. if (SolutionManager.IsSolutionOpen) { DeleteOnRestart.DeleteMarkedPackageDirectories(_uiProjectContext); } // NOTE: Don't use the exported IPackageRestoreManager for OnBuildPackageRestorer. Exported IPackageRestoreManager also uses 'PackageRestoreManager' // but, overrides RestoreMissingPackages to catch the exceptions. OnBuildPackageRestorer needs to catch the exception by itself to populate error list window // Exported IPackageRestoreManager is used by UI manual restore, Powershell manual restore and by VS extensibility package restore OnBuildPackageRestorer = new OnBuildPackageRestorer(SolutionManager, PackageRestoreManager, this, SourceRepositoryProvider, Settings, new EmptyNuGetProjectContext()); ProjectRetargetingHandler = new ProjectRetargetingHandler(_dte, SolutionManager, this); ProjectUpgradeHandler = new ProjectUpgradeHandler(this, SolutionManager); LoadNuGetSettings(); // This initializes the IVSSourceControlTracker, even though _vsSourceControlTracker is unused. _vsSourceControlTracker = ServiceLocator.GetInstanceSafe<IVsSourceControlTracker>(); // This instantiates a decoupled ICommand instance responsible to locate and display output pane by a UI control var serviceProvider = ServiceLocator.GetInstanceSafe<System.IServiceProvider>(); UI.Commands.ShowErrorsCommand = new ShowErrorsCommand(serviceProvider); }
public RepositorySettings(ISolutionManager solutionManager, IFileSystemProvider fileSystemProvider, IVsSourceControlTracker sourceControlTracker) { if (solutionManager == null) { throw new ArgumentNullException("solutionManager"); } if (fileSystemProvider == null) { throw new ArgumentNullException("fileSystemProvider"); } if (sourceControlTracker == null) { throw new ArgumentNullException("sourceControlTracker"); } _solutionManager = solutionManager; _fileSystemProvider = fileSystemProvider; EventHandler resetConfiguration = (sender, e) => { // Kill our configuration cache when someone closes the solution _configurationPath = null; _fileSystem = null; }; _solutionManager.SolutionClosing += resetConfiguration; sourceControlTracker.SolutionBoundToSourceControl += resetConfiguration; }