public ActiveSolutionBoundTracker(IHost host, IActiveSolutionTracker activeSolutionTracker, ISonarLintOutput sonarLintOutput) { if (host == null) { throw new ArgumentNullException(nameof(host)); } if (activeSolutionTracker == null) { throw new ArgumentNullException(nameof(activeSolutionTracker)); } if (sonarLintOutput == null) { throw new ArgumentNullException(nameof(sonarLintOutput)); } this.extensionHost = host; this.solutionTracker = activeSolutionTracker; this.sonarLintOutput = sonarLintOutput; this.solutionBindingInformationProvider = this.extensionHost.GetService <ISolutionBindingInformationProvider>(); this.solutionBindingInformationProvider.AssertLocalServiceIsNotNull(); this.errorListInfoBarController = this.extensionHost.GetService <IErrorListInfoBarController>(); this.errorListInfoBarController.AssertLocalServiceIsNotNull(); // The user changed the binding through the Team Explorer this.extensionHost.VisualStateManager.BindingStateChanged += this.OnBindingStateChanged; // The solution changed inside the IDE this.solutionTracker.ActiveSolutionChanged += this.OnActiveSolutionChanged; this.IsActiveSolutionBound = this.solutionBindingInformationProvider.IsSolutionBound(); this.ProjectKey = this.solutionBindingInformationProvider.GetProjectKey(); }
public ActiveSolutionBoundTracker(IHost host, IActiveSolutionTracker activeSolutionTracker, ILogger logger) { extensionHost = host ?? throw new ArgumentNullException(nameof(host)); solutionTracker = activeSolutionTracker ?? throw new ArgumentNullException(nameof(activeSolutionTracker)); this.logger = logger ?? throw new ArgumentNullException(nameof(logger)); vsMonitorSelection = host.GetService <SVsShellMonitorSelection, IVsMonitorSelection>(); vsMonitorSelection.GetCmdUIContextCookie(ref BoundSolutionUIContext.Guid, out boundSolutionContextCookie); configurationProvider = extensionHost.GetService <IConfigurationProviderService>(); configurationProvider.AssertLocalServiceIsNotNull(); errorListInfoBarController = extensionHost.GetService <IErrorListInfoBarController>(); errorListInfoBarController.AssertLocalServiceIsNotNull(); // The user changed the binding through the Team Explorer extensionHost.VisualStateManager.BindingStateChanged += OnBindingStateChanged; // The solution changed inside the IDE solutionTracker.ActiveSolutionChanged += OnActiveSolutionChanged; CurrentConfiguration = configurationProvider.GetConfiguration(); SetBoundSolutionUIContext(); }
public ActiveSolutionBoundTracker(IHost host, IActiveSolutionTracker activeSolutionTracker, ILogger logger) { if (host == null) { throw new ArgumentNullException(nameof(host)); } if (activeSolutionTracker == null) { throw new ArgumentNullException(nameof(activeSolutionTracker)); } if (logger == null) { throw new ArgumentNullException(nameof(logger)); } this.extensionHost = host; this.solutionTracker = activeSolutionTracker; this.logger = logger; this.configurationProvider = this.extensionHost.GetService <IConfigurationProvider>(); this.configurationProvider.AssertLocalServiceIsNotNull(); this.errorListInfoBarController = this.extensionHost.GetService <IErrorListInfoBarController>(); this.errorListInfoBarController.AssertLocalServiceIsNotNull(); // The user changed the binding through the Team Explorer this.extensionHost.VisualStateManager.BindingStateChanged += this.OnBindingStateChanged; // The solution changed inside the IDE this.solutionTracker.ActiveSolutionChanged += this.OnActiveSolutionChanged; CurrentConfiguration = this.configurationProvider.GetConfiguration(); }
public ActiveSolutionBoundTracker(IHost host, IActiveSolutionTracker activeSolutionTracker) { if (host == null) { throw new ArgumentNullException(nameof(host)); } if (activeSolutionTracker == null) { throw new ArgumentNullException(nameof(activeSolutionTracker)); } this.extensionHost = host; this.solutionTracker = activeSolutionTracker; this.solutionBindingInformationProvider = this.extensionHost.GetService<ISolutionBindingInformationProvider>(); this.solutionBindingInformationProvider.AssertLocalServiceIsNotNull(); this.errorListInfoBarController = this.extensionHost.GetService<IErrorListInfoBarController>(); this.errorListInfoBarController.AssertLocalServiceIsNotNull(); this.errorListInfoBarController.Refresh(); // The user changed the binding through the Team Explorer this.extensionHost.VisualStateManager.BindingStateChanged += this.OnBindingStateChanged; // The solution changed inside the IDE this.solutionTracker.ActiveSolutionChanged += this.OnActiveSolutionChanged; this.IsActiveSolutionBound = this.solutionBindingInformationProvider.IsSolutionBound(); }