public VsSourceControlTracker( ISolutionManager solutionManager, IFileSystemProvider fileSystemProvider, IVsTrackProjectDocuments2 projectTracker, ISettings solutionSettings) { if (projectTracker == null) { throw new ArgumentNullException("projectTracker"); } _solutionManager = solutionManager; _projectTracker = projectTracker; _fileSystemProvider = fileSystemProvider; _solutionSettings = solutionSettings; _projectDocumentListener = new TrackProjectDocumentEventListener(this); _solutionManager.SolutionOpened += OnSolutionOpened; _solutionManager.SolutionClosed += OnSolutionClosed; if (_solutionManager.IsSolutionOpen) { StartTracking(); } }
public VsSourceControlTracker( ISolutionManager solutionManager, IFileSystemProvider fileSystemProvider, IVsTrackProjectDocuments2 projectTracker, ISettings solutionSettings) { if (projectTracker == null) { throw new ArgumentNullException("projectTracker"); } _solutionManager = solutionManager; _projectTracker = projectTracker; _fileSystemProvider = fileSystemProvider; _solutionSettings = solutionSettings; _projectDocumentListener = new TrackProjectDocumentEventListener(this); _solutionManager.SolutionOpened += OnSolutionOpened; _solutionManager.SolutionClosed += OnSolutionClosed; if (_solutionManager.IsSolutionOpen) { StartTracking(); } }
public VsSourceControlTracker( ISolutionManager solutionManager, ISourceControlManagerProvider sourceControlManagerProvider, IVsTrackProjectDocuments2 projectTracker, Configuration.ISettings vsSettings) { if (projectTracker == null) { throw new ArgumentNullException("projectTracker"); } if (solutionManager == null) { throw new ArgumentNullException("solutionManager"); } _solutionManager = solutionManager; _projectTracker = projectTracker; _sourceControlManagerProvider = sourceControlManagerProvider; _vsSettings = vsSettings; _projectDocumentListener = new TrackProjectDocumentEventListener(this); _solutionManager.SolutionOpened += OnSolutionOpened; _solutionManager.SolutionClosed += OnSolutionClosed; if (_solutionManager.IsSolutionOpen) { StartTracking(); } }
public VsSourceControlTracker( [Import(typeof(SVsServiceProvider))] IServiceProvider serviceProvider, ISolutionManager solutionManager, ISourceControlManagerProvider sourceControlManagerProvider, Configuration.ISettings vsSettings) { if (serviceProvider == null) { throw new ArgumentNullException(nameof(serviceProvider)); } if (solutionManager == null) { throw new ArgumentNullException(nameof(solutionManager)); } if (sourceControlManagerProvider == null) { throw new ArgumentNullException(nameof(sourceControlManagerProvider)); } if (vsSettings == null) { throw new ArgumentNullException(nameof(vsSettings)); } _solutionManager = solutionManager; _sourceControlManagerProvider = sourceControlManagerProvider; _vsSettings = vsSettings; _projectTracker = new AsyncLazy <IVsTrackProjectDocuments2>(async() => { await ThreadHelper.JoinableTaskFactory.SwitchToMainThreadAsync(); return(serviceProvider.GetService <SVsTrackProjectDocuments, IVsTrackProjectDocuments2>()); }, ThreadHelper.JoinableTaskFactory); _projectDocumentListener = new TrackProjectDocumentEventListener(this); _solutionManager.SolutionOpened += OnSolutionOpened; _solutionManager.SolutionClosed += OnSolutionClosed; if (_solutionManager.IsSolutionOpen) { StartTracking(); } }