protected override void AnalyzeTargets() { ThreadHelper.ThrowIfNotOnUIThread(); Solution solution = this.dte.Solution; if (solution == null) { return; } Projects projects = solution.Projects; if (projects == null) { return; } var targetFiles = new List <string>(); foreach (Project project in projects) { targetFiles.AddRange(SariferPackageCommand.GetFiles(project)); } // Disable the menu click when we are analysing. SariferPackageCommand.DisableAnalyzeCommands(this.menuCommandService); this.backgroundAnalysisService.AnalyzeAsync(solution.FullName, targetFiles, this.cancellationTokenSource.Token) .FileAndForget(FileAndForgetEventName.BackgroundAnalysisFailure); }
protected override void AnalyzeTargets() { ThreadHelper.ThrowIfNotOnUIThread(); IEnumerable <Project> selectedProjects = (this.dte.ActiveSolutionProjects as object[]).OfType <Project>(); if (selectedProjects != null) { foreach (Project project in selectedProjects) { // Disable the menu click when we are analysing. SariferPackageCommand.DisableAnalyzeCommands(this.menuCommandService); List <string> targetFiles = SariferPackageCommand.GetFiles(project); this.backgroundAnalysisService.AnalyzeAsync(project.FullName, targetFiles, this.cancellationTokenSource.Token) .FileAndForget(FileAndForgetEventName.BackgroundAnalysisFailure); } } }
protected override void AnalyzeTargets() { ThreadHelper.ThrowIfNotOnUIThread(); var targetFiles = new List <string>(); if (this.dte.SelectedItems != null && this.dte.SelectedItems.Count > 0) { foreach (SelectedItem selectedItem in this.dte.SelectedItems) { targetFiles.AddRange(SariferPackageCommand.GetFiles(selectedItem)); } if (targetFiles.Any()) { // Disable the menu click when we are analysing. SariferPackageCommand.DisableAnalyzeCommands(this.menuCommandService); string logId = targetFiles.First() + (targetFiles.Count > 1 ? $"~{targetFiles.Count}" : string.Empty); this.backgroundAnalysisService.AnalyzeAsync(logId, targetFiles, this.cancellationTokenSource.Token) .FileAndForget(FileAndForgetEventName.BackgroundAnalysisFailure); } } }
protected void BackgroundAnalysisService_AnalysisCompleted(object sender, EventArgs e) { SariferPackageCommand.EnableAnalyzeCommands(this.menuCommandService); }