diff --git a/src/VisualStudio/Core/Def/Implementation/Diagnostics/VisualStudioDiagnosticAnalyzerService.cs b/src/VisualStudio/Core/Def/Implementation/Diagnostics/VisualStudioDiagnosticAnalyzerService.cs index 875bd7ebef7348ddd8384dd1275cf0b74d84caff..b487e1a3b544a7703d3fa3a3bb2cedd025c08afa 100644 --- a/src/VisualStudio/Core/Def/Implementation/Diagnostics/VisualStudioDiagnosticAnalyzerService.cs +++ b/src/VisualStudio/Core/Def/Implementation/Diagnostics/VisualStudioDiagnosticAnalyzerService.cs @@ -16,6 +16,7 @@ using Microsoft.CodeAnalysis.Diagnostics; using Microsoft.CodeAnalysis.Editor.Shared.Utilities; using Microsoft.VisualStudio.LanguageServices.Implementation.ProjectSystem; +using Microsoft.CodeAnalysis.Shared.TestHooks; using Microsoft.VisualStudio.Shell; using Microsoft.VisualStudio.Shell.Interop; using Roslyn.Utilities; @@ -34,6 +35,7 @@ internal partial class VisualStudioDiagnosticAnalyzerService : IVisualStudioDiag private readonly IDiagnosticAnalyzerService _diagnosticService; private readonly IThreadingContext _threadingContext; private readonly IVsHierarchyItemManager _vsHierarchyItemManager; + private readonly IAsynchronousOperationListener _listener; private IServiceProvider? _serviceProvider; @@ -42,12 +44,14 @@ internal partial class VisualStudioDiagnosticAnalyzerService : IVisualStudioDiag VisualStudioWorkspace workspace, IDiagnosticAnalyzerService diagnosticService, IThreadingContext threadingContext, - IVsHierarchyItemManager vsHierarchyItemManager) + IVsHierarchyItemManager vsHierarchyItemManager, + IAsynchronousOperationListenerProvider listenerProvider) { _workspace = workspace; _diagnosticService = diagnosticService; _threadingContext = threadingContext; _vsHierarchyItemManager = vsHierarchyItemManager; + _listener = listenerProvider.GetListener(FeatureAttribute.DiagnosticService); } public void Initialize(IServiceProvider serviceProvider) @@ -79,8 +83,6 @@ public void Initialize(IServiceProvider serviceProvider) } } - // *DO NOT DELETE* - // This is used by Ruleset Editor from ManagedSourceCodeAnalysis.dll. public IReadOnlyDictionary> GetAllDiagnosticDescriptors(IVsHierarchy? hierarchy) { if (hierarchy == null) @@ -173,23 +175,28 @@ private void OnRunCodeAnalysisForSelectedProject(object sender, EventArgs args) public void RunAnalyzers(IVsHierarchy? hierarchy) { var project = GetProject(hierarchy); - var projectOrSolutionName = project?.Name ?? PathUtilities.GetFileName(_workspace.CurrentSolution.FilePath) ?? "Solution"; + string? projectOrSolutionName = project?.Name ?? PathUtilities.GetFileName(_workspace.CurrentSolution.FilePath); // Add a message to VS status bar that we are running code analysis. - var waitDialogMessage = string.Format(ServicesVSResources.Running_code_analysis_for_0, projectOrSolutionName); + var statusMessage = projectOrSolutionName != null + ? string.Format(ServicesVSResources.Running_code_analysis_for_0, projectOrSolutionName) + : ServicesVSResources.Running_code_analysis_for_Solution; var statusBar = _serviceProvider?.GetService(typeof(SVsStatusbar)) as IVsStatusbar; - statusBar?.SetText(waitDialogMessage); + statusBar?.SetText(statusMessage); // Force complete analyzer execution in background. + var asyncToken = _listener.BeginAsyncOperation($"{nameof(VisualStudioDiagnosticAnalyzerService)}_{nameof(RunAnalyzers)}"); Task.Run(async () => { await _diagnosticService.ForceAnalyzeAsync(_workspace.CurrentSolution, project?.Id, CancellationToken.None).ConfigureAwait(false); // Add a message to VS status bar that we completed executing code analysis. await _threadingContext.JoinableTaskFactory.SwitchToMainThreadAsync(); - var notificationMesage = string.Format(ServicesVSResources.Code_analysis_completed_for_0_Please_wait_for_the_error_list_to_refresh, projectOrSolutionName); + var notificationMesage = projectOrSolutionName != null + ? string.Format(ServicesVSResources.Code_analysis_completed_for_0, projectOrSolutionName) + : ServicesVSResources.Code_analysis_completed_for_Solution; statusBar?.SetText(notificationMesage); - }); + }).CompletesAsyncOperation(asyncToken); } private Project? GetProject(IVsHierarchy? hierarchy) diff --git a/src/VisualStudio/Core/Def/ServicesVSResources.Designer.cs b/src/VisualStudio/Core/Def/ServicesVSResources.Designer.cs index 3c2b380312fdd1ec716c81311d692d72679cd98c..e65d01bdfc74abea3fc35ae7f3ddb0b11ae34701 100644 --- a/src/VisualStudio/Core/Def/ServicesVSResources.Designer.cs +++ b/src/VisualStudio/Core/Def/ServicesVSResources.Designer.cs @@ -588,11 +588,20 @@ internal class ServicesVSResources { } /// - /// Looks up a localized string similar to Code analysis completed for '{0}'. Please wait for the error list to refresh.. + /// Looks up a localized string similar to Code analysis completed for '{0}'.. /// - internal static string Code_analysis_completed_for_0_Please_wait_for_the_error_list_to_refresh { + internal static string Code_analysis_completed_for_0 { get { - return ResourceManager.GetString("Code_analysis_completed_for_0_Please_wait_for_the_error_list_to_refresh", resourceCulture); + return ResourceManager.GetString("Code_analysis_completed_for_0", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Code analysis completed for Solution.. + /// + internal static string Code_analysis_completed_for_Solution { + get { + return ResourceManager.GetString("Code_analysis_completed_for_Solution", resourceCulture); } } @@ -2826,6 +2835,15 @@ internal class ServicesVSResources { } } + /// + /// Looks up a localized string similar to Running code analysis for Solution.... + /// + internal static string Running_code_analysis_for_Solution { + get { + return ResourceManager.GetString("Running_code_analysis_for_Solution", resourceCulture); + } + } + /// /// Looks up a localized string similar to Running low priority background processes. /// diff --git a/src/VisualStudio/Core/Def/ServicesVSResources.resx b/src/VisualStudio/Core/Def/ServicesVSResources.resx index 3e3dc02e60cfd9e8110f92335e0631baf65e0b1a..10797861ccbe1662f28fd876f99264d46527e12a 100644 --- a/src/VisualStudio/Core/Def/ServicesVSResources.resx +++ b/src/VisualStudio/Core/Def/ServicesVSResources.resx @@ -1338,7 +1338,13 @@ I agree to all of the foregoing: Running code analysis for '{0}'... - - Code analysis completed for '{0}'. Please wait for the error list to refresh. + + Running code analysis for Solution... + + + Code analysis completed for '{0}'. + + + Code analysis completed for Solution. \ No newline at end of file diff --git a/src/VisualStudio/Core/Def/xlf/ServicesVSResources.cs.xlf b/src/VisualStudio/Core/Def/xlf/ServicesVSResources.cs.xlf index 49ebec517728ebd1f0649450ba5ccc6cd09ad7b5..3ddf21cd8812ed2f5be035e980520a723b35c0b7 100644 --- a/src/VisualStudio/Core/Def/xlf/ServicesVSResources.cs.xlf +++ b/src/VisualStudio/Core/Def/xlf/ServicesVSResources.cs.xlf @@ -77,9 +77,14 @@ Klasifikace - - Code analysis completed for '{0}'. Please wait for the error list to refresh. - Code analysis completed for '{0}'. Please wait for the error list to refresh. + + Code analysis completed for '{0}'. + Code analysis completed for '{0}'. + + + + Code analysis completed for Solution. + Code analysis completed for Solution. @@ -442,6 +447,11 @@ Running code analysis for '{0}'... + + Running code analysis for Solution... + Running code analysis for Solution... + + Running low priority background processes Spouštění procesů s nízkou prioritou na pozadí diff --git a/src/VisualStudio/Core/Def/xlf/ServicesVSResources.de.xlf b/src/VisualStudio/Core/Def/xlf/ServicesVSResources.de.xlf index 86d121e6d56cdb978066b432d0486a2d743880c7..d4f2119725c5f7acc15dba60b7fc12a68c25ceca 100644 --- a/src/VisualStudio/Core/Def/xlf/ServicesVSResources.de.xlf +++ b/src/VisualStudio/Core/Def/xlf/ServicesVSResources.de.xlf @@ -77,9 +77,14 @@ Klassifizierungen - - Code analysis completed for '{0}'. Please wait for the error list to refresh. - Code analysis completed for '{0}'. Please wait for the error list to refresh. + + Code analysis completed for '{0}'. + Code analysis completed for '{0}'. + + + + Code analysis completed for Solution. + Code analysis completed for Solution. @@ -442,6 +447,11 @@ Running code analysis for '{0}'... + + Running code analysis for Solution... + Running code analysis for Solution... + + Running low priority background processes Hintergrundprozesse mit niedriger Priorität werden ausgeführt. diff --git a/src/VisualStudio/Core/Def/xlf/ServicesVSResources.es.xlf b/src/VisualStudio/Core/Def/xlf/ServicesVSResources.es.xlf index 3290a15b00172f5bf11f38a9da864b29bfac60a4..1519ea7a8e615b48ceae1eac6dbfe32939529788 100644 --- a/src/VisualStudio/Core/Def/xlf/ServicesVSResources.es.xlf +++ b/src/VisualStudio/Core/Def/xlf/ServicesVSResources.es.xlf @@ -77,9 +77,14 @@ Clasificaciones - - Code analysis completed for '{0}'. Please wait for the error list to refresh. - Code analysis completed for '{0}'. Please wait for the error list to refresh. + + Code analysis completed for '{0}'. + Code analysis completed for '{0}'. + + + + Code analysis completed for Solution. + Code analysis completed for Solution. @@ -442,6 +447,11 @@ Running code analysis for '{0}'... + + Running code analysis for Solution... + Running code analysis for Solution... + + Running low priority background processes Ejecutando procesos en segundo plano de baja prioridad diff --git a/src/VisualStudio/Core/Def/xlf/ServicesVSResources.fr.xlf b/src/VisualStudio/Core/Def/xlf/ServicesVSResources.fr.xlf index 8308f4a33bddad421741abaabd7861d831636eea..80011ade76cd8b0e4eca7b036f320e4e7a0800a8 100644 --- a/src/VisualStudio/Core/Def/xlf/ServicesVSResources.fr.xlf +++ b/src/VisualStudio/Core/Def/xlf/ServicesVSResources.fr.xlf @@ -77,9 +77,14 @@ Classifications - - Code analysis completed for '{0}'. Please wait for the error list to refresh. - Code analysis completed for '{0}'. Please wait for the error list to refresh. + + Code analysis completed for '{0}'. + Code analysis completed for '{0}'. + + + + Code analysis completed for Solution. + Code analysis completed for Solution. @@ -442,6 +447,11 @@ Running code analysis for '{0}'... + + Running code analysis for Solution... + Running code analysis for Solution... + + Running low priority background processes Exécution des processus d’arrière-plan basse priorité diff --git a/src/VisualStudio/Core/Def/xlf/ServicesVSResources.it.xlf b/src/VisualStudio/Core/Def/xlf/ServicesVSResources.it.xlf index 6696fd7f8f516eaaed43d3136f3a9aebf9766ccf..7d604da01efa338b90ab422bd5b8372722388592 100644 --- a/src/VisualStudio/Core/Def/xlf/ServicesVSResources.it.xlf +++ b/src/VisualStudio/Core/Def/xlf/ServicesVSResources.it.xlf @@ -77,9 +77,14 @@ Classificazioni - - Code analysis completed for '{0}'. Please wait for the error list to refresh. - Code analysis completed for '{0}'. Please wait for the error list to refresh. + + Code analysis completed for '{0}'. + Code analysis completed for '{0}'. + + + + Code analysis completed for Solution. + Code analysis completed for Solution. @@ -442,6 +447,11 @@ Running code analysis for '{0}'... + + Running code analysis for Solution... + Running code analysis for Solution... + + Running low priority background processes Esecuzione di processi in background con priorità bassa diff --git a/src/VisualStudio/Core/Def/xlf/ServicesVSResources.ja.xlf b/src/VisualStudio/Core/Def/xlf/ServicesVSResources.ja.xlf index b861d92b7946add85a3054fd39801b4b1c163fef..54ebf10860444adc610dae5abed1f4ec9de5387a 100644 --- a/src/VisualStudio/Core/Def/xlf/ServicesVSResources.ja.xlf +++ b/src/VisualStudio/Core/Def/xlf/ServicesVSResources.ja.xlf @@ -77,9 +77,14 @@ 分類 - - Code analysis completed for '{0}'. Please wait for the error list to refresh. - Code analysis completed for '{0}'. Please wait for the error list to refresh. + + Code analysis completed for '{0}'. + Code analysis completed for '{0}'. + + + + Code analysis completed for Solution. + Code analysis completed for Solution. @@ -442,6 +447,11 @@ Running code analysis for '{0}'... + + Running code analysis for Solution... + Running code analysis for Solution... + + Running low priority background processes 優先度の低いバックグラウンド プロセスを実行しています diff --git a/src/VisualStudio/Core/Def/xlf/ServicesVSResources.ko.xlf b/src/VisualStudio/Core/Def/xlf/ServicesVSResources.ko.xlf index e32b194dfe705cff610515d8b9a894c208478f48..778cb7668c92149bb27d1f5b2986877100efe5fd 100644 --- a/src/VisualStudio/Core/Def/xlf/ServicesVSResources.ko.xlf +++ b/src/VisualStudio/Core/Def/xlf/ServicesVSResources.ko.xlf @@ -77,9 +77,14 @@ 분류 - - Code analysis completed for '{0}'. Please wait for the error list to refresh. - Code analysis completed for '{0}'. Please wait for the error list to refresh. + + Code analysis completed for '{0}'. + Code analysis completed for '{0}'. + + + + Code analysis completed for Solution. + Code analysis completed for Solution. @@ -442,6 +447,11 @@ Running code analysis for '{0}'... + + Running code analysis for Solution... + Running code analysis for Solution... + + Running low priority background processes 낮은 우선 순위 백그라운드 프로세스 실행 중 diff --git a/src/VisualStudio/Core/Def/xlf/ServicesVSResources.pl.xlf b/src/VisualStudio/Core/Def/xlf/ServicesVSResources.pl.xlf index 720b69179b4f27ac5a763400c3c33b85820486e2..3940ab4b9a93a54a2a1cecfbd2f98e8617f6ce2c 100644 --- a/src/VisualStudio/Core/Def/xlf/ServicesVSResources.pl.xlf +++ b/src/VisualStudio/Core/Def/xlf/ServicesVSResources.pl.xlf @@ -77,9 +77,14 @@ Klasyfikacje - - Code analysis completed for '{0}'. Please wait for the error list to refresh. - Code analysis completed for '{0}'. Please wait for the error list to refresh. + + Code analysis completed for '{0}'. + Code analysis completed for '{0}'. + + + + Code analysis completed for Solution. + Code analysis completed for Solution. @@ -442,6 +447,11 @@ Running code analysis for '{0}'... + + Running code analysis for Solution... + Running code analysis for Solution... + + Running low priority background processes Uruchamianie procesów w tle o niskim priorytecie diff --git a/src/VisualStudio/Core/Def/xlf/ServicesVSResources.pt-BR.xlf b/src/VisualStudio/Core/Def/xlf/ServicesVSResources.pt-BR.xlf index 6d616edb7801c990ee12312346ecf489d742a179..8316b3289d6005e84b0b19d24a2017529835ef2b 100644 --- a/src/VisualStudio/Core/Def/xlf/ServicesVSResources.pt-BR.xlf +++ b/src/VisualStudio/Core/Def/xlf/ServicesVSResources.pt-BR.xlf @@ -77,9 +77,14 @@ Classificações - - Code analysis completed for '{0}'. Please wait for the error list to refresh. - Code analysis completed for '{0}'. Please wait for the error list to refresh. + + Code analysis completed for '{0}'. + Code analysis completed for '{0}'. + + + + Code analysis completed for Solution. + Code analysis completed for Solution. @@ -442,6 +447,11 @@ Running code analysis for '{0}'... + + Running code analysis for Solution... + Running code analysis for Solution... + + Running low priority background processes Executando processos de baixa prioridade em segundo plano diff --git a/src/VisualStudio/Core/Def/xlf/ServicesVSResources.ru.xlf b/src/VisualStudio/Core/Def/xlf/ServicesVSResources.ru.xlf index f7e216b90387626506bbddbdc9a5a267bdd854cc..eeba5c544d1c478c28e60a62dd11bda247eb7095 100644 --- a/src/VisualStudio/Core/Def/xlf/ServicesVSResources.ru.xlf +++ b/src/VisualStudio/Core/Def/xlf/ServicesVSResources.ru.xlf @@ -77,9 +77,14 @@ Классификации - - Code analysis completed for '{0}'. Please wait for the error list to refresh. - Code analysis completed for '{0}'. Please wait for the error list to refresh. + + Code analysis completed for '{0}'. + Code analysis completed for '{0}'. + + + + Code analysis completed for Solution. + Code analysis completed for Solution. @@ -442,6 +447,11 @@ Running code analysis for '{0}'... + + Running code analysis for Solution... + Running code analysis for Solution... + + Running low priority background processes Запуск фоновых процессов с низким приоритетом diff --git a/src/VisualStudio/Core/Def/xlf/ServicesVSResources.tr.xlf b/src/VisualStudio/Core/Def/xlf/ServicesVSResources.tr.xlf index 4047ecf407a7cbe69d11f15fe9080a7364acee71..1287a8d8e012a375711e6c9f1d163240aa726200 100644 --- a/src/VisualStudio/Core/Def/xlf/ServicesVSResources.tr.xlf +++ b/src/VisualStudio/Core/Def/xlf/ServicesVSResources.tr.xlf @@ -77,9 +77,14 @@ Sınıflandırmalar - - Code analysis completed for '{0}'. Please wait for the error list to refresh. - Code analysis completed for '{0}'. Please wait for the error list to refresh. + + Code analysis completed for '{0}'. + Code analysis completed for '{0}'. + + + + Code analysis completed for Solution. + Code analysis completed for Solution. @@ -442,6 +447,11 @@ Running code analysis for '{0}'... + + Running code analysis for Solution... + Running code analysis for Solution... + + Running low priority background processes Düşük öncelikli arka plan işlemleri çalıştırılıyor diff --git a/src/VisualStudio/Core/Def/xlf/ServicesVSResources.zh-Hans.xlf b/src/VisualStudio/Core/Def/xlf/ServicesVSResources.zh-Hans.xlf index 6fc0656f796b65543f57932d86284aa2e4ab5be1..3b9a2922bbcf2498653f67ed5f6716ef1f42134f 100644 --- a/src/VisualStudio/Core/Def/xlf/ServicesVSResources.zh-Hans.xlf +++ b/src/VisualStudio/Core/Def/xlf/ServicesVSResources.zh-Hans.xlf @@ -77,9 +77,14 @@ 分类 - - Code analysis completed for '{0}'. Please wait for the error list to refresh. - Code analysis completed for '{0}'. Please wait for the error list to refresh. + + Code analysis completed for '{0}'. + Code analysis completed for '{0}'. + + + + Code analysis completed for Solution. + Code analysis completed for Solution. @@ -442,6 +447,11 @@ Running code analysis for '{0}'... + + Running code analysis for Solution... + Running code analysis for Solution... + + Running low priority background processes 正在运行低优先级后台进程 diff --git a/src/VisualStudio/Core/Def/xlf/ServicesVSResources.zh-Hant.xlf b/src/VisualStudio/Core/Def/xlf/ServicesVSResources.zh-Hant.xlf index 74c7eeff4b919328a7f0401bae6421413c36c423..356587392e8b843fbb5d410348b7b542ae3582f7 100644 --- a/src/VisualStudio/Core/Def/xlf/ServicesVSResources.zh-Hant.xlf +++ b/src/VisualStudio/Core/Def/xlf/ServicesVSResources.zh-Hant.xlf @@ -77,9 +77,14 @@ 分類 - - Code analysis completed for '{0}'. Please wait for the error list to refresh. - Code analysis completed for '{0}'. Please wait for the error list to refresh. + + Code analysis completed for '{0}'. + Code analysis completed for '{0}'. + + + + Code analysis completed for Solution. + Code analysis completed for Solution. @@ -442,6 +447,11 @@ Running code analysis for '{0}'... + + Running code analysis for Solution... + Running code analysis for Solution... + + Running low priority background processes 正在執行低優先順序背景流程