From f21c94374284da74eb9eda0a20ff3daa7789313e Mon Sep 17 00:00:00 2001 From: HeeJae Chang Date: Tue, 6 Aug 2019 18:06:42 -0700 Subject: [PATCH 1/6] move to new OperationProgress API. --- .../VisualStudioWorkspaceStatusServiceFactory.cs | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/VisualStudio/Core/Def/Implementation/Workspace/VisualStudioWorkspaceStatusServiceFactory.cs b/src/VisualStudio/Core/Def/Implementation/Workspace/VisualStudioWorkspaceStatusServiceFactory.cs index da03c29b005f8..1291c0e40bc6e 100644 --- a/src/VisualStudio/Core/Def/Implementation/Workspace/VisualStudioWorkspaceStatusServiceFactory.cs +++ b/src/VisualStudio/Core/Def/Implementation/Workspace/VisualStudioWorkspaceStatusServiceFactory.cs @@ -113,15 +113,15 @@ public async Task IsFullyLoadedAsync(CancellationToken cancellationToken) return false; } - return !status.Status.IsInProgress; + return !status.IsInProgress; } - private async Task GetProgressStageStatusAsync(CancellationToken cancellationToken) + private async Task GetProgressStageStatusAsync(CancellationToken cancellationToken) { var service = await _serviceProvider.GetServiceAsync(throwOnFailure: false) .WithCancellation(cancellationToken).ConfigureAwait(false); - return service?.GetStageStatus(CommonOperationProgressStageIds.Intellisense); + return service?.GetStageStatusForSolutionLoad(CommonOperationProgressStageIds.Intellisense); } private async Task EnsureInitializationAsync(CancellationToken cancellationToken) @@ -143,7 +143,7 @@ private async Task EnsureInitializationAsync(CancellationToken cancellationToken return; } - status.InProgressChanged += (_, e) => this.StatusChanged?.Invoke(this, !e.Status.IsInProgress); + status.InProgressChanged += (_, e) => this.StatusChanged?.Invoke(this, !e.InProgress); } } } From 06e3133a517847d47aa830bd3a6dc2e357301663 Mon Sep 17 00:00:00 2001 From: HeeJae Chang Date: Tue, 13 Aug 2019 21:46:56 -0700 Subject: [PATCH 2/6] moved to new API --- eng/Versions.props | 12 ++++++------ .../Core.Wpf/Suggestions/SuggestedActionsSource.cs | 2 +- .../VisualStudioWorkspaceStatusServiceFactory.cs | 4 ++-- .../Workspace/Host/Status/IWorkspaceStatusService.cs | 7 +------ .../Workspace/Host/Status/WorkspaceStatusService.cs | 2 +- 5 files changed, 11 insertions(+), 16 deletions(-) diff --git a/eng/Versions.props b/eng/Versions.props index f8ebfaf15e942..c744b0372395e 100644 --- a/eng/Versions.props +++ b/eng/Versions.props @@ -25,7 +25,7 @@ - 2.9.3 + 2.9.4 2.8.2 1.0.0-beta1-63310-01 3.3.0-beta2-19376-02 @@ -125,10 +125,10 @@ 16.2.133-pre 2.3.6152103 14.1.10 - 15.7.7 + 16.3.2 1.16.30 16.0.28226-pre - 16.1.28917.181 + 16.3.29212.169 15.7.27703 15.0.25415 15.0.25415 @@ -151,9 +151,9 @@ 12.0.30110 12.1.30328 16.0.0 - 16.0.102 + 16.3.13 16.3.13 - 16.3.29124.81 + 16.3.29212.169 15.3.23 2.0.0-rc3-61304-01 4.3.0 @@ -177,7 +177,7 @@ 4.3.0 0.0.4 1.0.21 - 2.0.187 + 2.1.55 4.5.0 1.5.0 0.1.0-alpha-63729-01 diff --git a/src/EditorFeatures/Core.Wpf/Suggestions/SuggestedActionsSource.cs b/src/EditorFeatures/Core.Wpf/Suggestions/SuggestedActionsSource.cs index 4670fe523859e..48e34a3282af5 100644 --- a/src/EditorFeatures/Core.Wpf/Suggestions/SuggestedActionsSource.cs +++ b/src/EditorFeatures/Core.Wpf/Suggestions/SuggestedActionsSource.cs @@ -1029,7 +1029,7 @@ private void OnDiagnosticsUpdated(object sender, DiagnosticsUpdatedArgs e) OnSuggestedActionsChanged(e.Workspace, e.DocumentId, e.Solution.WorkspaceVersion); } - private void OnWorkspaceStatusChanged(object sender, bool fullyLoaded) + private void OnWorkspaceStatusChanged(object sender, EventArgs args) { var document = _subjectBuffer.AsTextContainer().GetOpenDocumentInCurrentContext(); if (document == null) diff --git a/src/VisualStudio/Core/Def/Implementation/Workspace/VisualStudioWorkspaceStatusServiceFactory.cs b/src/VisualStudio/Core/Def/Implementation/Workspace/VisualStudioWorkspaceStatusServiceFactory.cs index 1291c0e40bc6e..973ba991c9db0 100644 --- a/src/VisualStudio/Core/Def/Implementation/Workspace/VisualStudioWorkspaceStatusServiceFactory.cs +++ b/src/VisualStudio/Core/Def/Implementation/Workspace/VisualStudioWorkspaceStatusServiceFactory.cs @@ -64,7 +64,7 @@ private class Service : IWorkspaceStatusService private bool _initialized = false; - public event EventHandler StatusChanged; + public event EventHandler StatusChanged; public Service(IAsyncServiceProvider2 serviceProvider, IAsynchronousOperationListener listener) { @@ -143,7 +143,7 @@ private async Task EnsureInitializationAsync(CancellationToken cancellationToken return; } - status.InProgressChanged += (_, e) => this.StatusChanged?.Invoke(this, !e.InProgress); + status.PropertyChanged += (_, e) => this.StatusChanged?.Invoke(this, EventArgs.Empty); } } } diff --git a/src/Workspaces/Core/Portable/Workspace/Host/Status/IWorkspaceStatusService.cs b/src/Workspaces/Core/Portable/Workspace/Host/Status/IWorkspaceStatusService.cs index f6109941df0f3..0f3092996d670 100644 --- a/src/Workspaces/Core/Portable/Workspace/Host/Status/IWorkspaceStatusService.cs +++ b/src/Workspaces/Core/Portable/Workspace/Host/Status/IWorkspaceStatusService.cs @@ -20,13 +20,8 @@ internal interface IWorkspaceStatusService : IWorkspaceService { /// /// Indicate that status has changed - /// - /// event argument, true, means solution is fully loaded. - /// - /// but right now, bool doesn't mean much but having it since platform API we decide to start with bool rather than - /// more richer information /// - event EventHandler StatusChanged; + event EventHandler StatusChanged; /// /// Wait until workspace is fully loaded diff --git a/src/Workspaces/Core/Portable/Workspace/Host/Status/WorkspaceStatusService.cs b/src/Workspaces/Core/Portable/Workspace/Host/Status/WorkspaceStatusService.cs index d928901addac9..8cb9172630a22 100644 --- a/src/Workspaces/Core/Portable/Workspace/Host/Status/WorkspaceStatusService.cs +++ b/src/Workspaces/Core/Portable/Workspace/Host/Status/WorkspaceStatusService.cs @@ -19,7 +19,7 @@ public WorkspaceStatusService() { } - event EventHandler IWorkspaceStatusService.StatusChanged + event EventHandler IWorkspaceStatusService.StatusChanged { add { } remove { } From 9f03fcd1bf17c1368756e8bfb2cbee4dd4a9132f Mon Sep 17 00:00:00 2001 From: HeeJae Chang Date: Thu, 5 Sep 2019 14:46:19 -0700 Subject: [PATCH 3/6] moved VS SDK to new version and supressed newly added analyzers from new VS SDK --- eng/Versions.props | 2 +- eng/config/rulesets/Shipping.ruleset | 2 ++ src/Test/Diagnostics/RemoteHost/RemoteHostPanel.xaml.cs | 4 ++++ .../VisualStudioWorkspaceStatusServiceFactory.cs | 9 ++++++++- src/VisualStudio/LiveShare/Impl/DiagnosticHandler.cs | 2 ++ .../Telemetry/TelemetryPanel.xaml.cs | 2 ++ 6 files changed, 19 insertions(+), 2 deletions(-) diff --git a/eng/Versions.props b/eng/Versions.props index c744b0372395e..a6f9d568f0e15 100644 --- a/eng/Versions.props +++ b/eng/Versions.props @@ -88,7 +88,7 @@ 2.0.0-alpha-20170405-2 0.1.0 0.1.2-dev - 1.3.23 + 2.0.48 10.1.0 15.8.27812-alpha 15.8.27812-alpha diff --git a/eng/config/rulesets/Shipping.ruleset b/eng/config/rulesets/Shipping.ruleset index cc58675dfba4a..97842fef71637 100644 --- a/eng/config/rulesets/Shipping.ruleset +++ b/eng/config/rulesets/Shipping.ruleset @@ -53,6 +53,7 @@ + @@ -163,6 +164,7 @@ + diff --git a/src/Test/Diagnostics/RemoteHost/RemoteHostPanel.xaml.cs b/src/Test/Diagnostics/RemoteHost/RemoteHostPanel.xaml.cs index 1319b15fa9164..6533b95c723d0 100644 --- a/src/Test/Diagnostics/RemoteHost/RemoteHostPanel.xaml.cs +++ b/src/Test/Diagnostics/RemoteHost/RemoteHostPanel.xaml.cs @@ -27,7 +27,9 @@ public RemoteHostPanel(Workspace workspace) : this() _workspace = workspace; } +#pragma warning disable VSTHRD100 // Avoid async void methods private async void OnSolutionSave(object sender, RoutedEventArgs e) +#pragma warning restore VSTHRD100 // Avoid async void methods { using (Disable(SolutionSaveButton)) { @@ -66,7 +68,9 @@ private void OnFileToSave(object sender, RoutedEventArgs e) } } +#pragma warning disable VSTHRD100 // Avoid async void methods private async void OnSolutionOpen(object sender, RoutedEventArgs e) +#pragma warning restore VSTHRD100 // Avoid async void methods { using (Disable(SolutionOpenButton)) { diff --git a/src/VisualStudio/Core/Def/Implementation/Workspace/VisualStudioWorkspaceStatusServiceFactory.cs b/src/VisualStudio/Core/Def/Implementation/Workspace/VisualStudioWorkspaceStatusServiceFactory.cs index 973ba991c9db0..3e704a327ca92 100644 --- a/src/VisualStudio/Core/Def/Implementation/Workspace/VisualStudioWorkspaceStatusServiceFactory.cs +++ b/src/VisualStudio/Core/Def/Implementation/Workspace/VisualStudioWorkspaceStatusServiceFactory.cs @@ -1,6 +1,7 @@ // Copyright (c) Microsoft. All Rights Reserved. Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. using System; +using System.ComponentModel; using System.Composition; using System.Threading; using System.Threading.Tasks; @@ -143,7 +144,13 @@ private async Task EnsureInitializationAsync(CancellationToken cancellationToken return; } - status.PropertyChanged += (_, e) => this.StatusChanged?.Invoke(this, EventArgs.Empty); + var notification = status as INotifyPropertyChanged; + if (notification == null) + { + + } + + notification.PropertyChanged += (_, e) => this.StatusChanged?.Invoke(this, EventArgs.Empty); } } } diff --git a/src/VisualStudio/LiveShare/Impl/DiagnosticHandler.cs b/src/VisualStudio/LiveShare/Impl/DiagnosticHandler.cs index eb19a2c91b364..ce439206cb369 100644 --- a/src/VisualStudio/LiveShare/Impl/DiagnosticHandler.cs +++ b/src/VisualStudio/LiveShare/Impl/DiagnosticHandler.cs @@ -35,7 +35,9 @@ public DiagnosticsHandler(IDiagnosticService diagnosticService) _diagnosticService.DiagnosticsUpdated += DiagnosticService_DiagnosticsUpdated; } +#pragma warning disable VSTHRD100 // Avoid async void methods private async void DiagnosticService_DiagnosticsUpdated(object sender, DiagnosticsUpdatedArgs e) +#pragma warning restore VSTHRD100 // Avoid async void methods { // Since this is an async void method, exceptions here will crash the host VS. We catch exceptions here to make sure that we don't crash the host since // the worst outcome here is that guests may not see all diagnostics. diff --git a/src/VisualStudio/VisualStudioDiagnosticsToolWindow/Telemetry/TelemetryPanel.xaml.cs b/src/VisualStudio/VisualStudioDiagnosticsToolWindow/Telemetry/TelemetryPanel.xaml.cs index e7d05c35dfe58..37906f841353f 100644 --- a/src/VisualStudio/VisualStudioDiagnosticsToolWindow/Telemetry/TelemetryPanel.xaml.cs +++ b/src/VisualStudio/VisualStudioDiagnosticsToolWindow/Telemetry/TelemetryPanel.xaml.cs @@ -25,7 +25,9 @@ public TelemetryPanel() InitializeComponent(); } +#pragma warning disable VSTHRD100 // Avoid async void methods private async void OnDump(object sender, RoutedEventArgs e) +#pragma warning restore VSTHRD100 // Avoid async void methods { using (Disable(DumpButton)) using (Disable(CopyButton)) From ea7af808ba7d8585c61164f4f537a446778513fe Mon Sep 17 00:00:00 2001 From: HeeJae Chang Date: Thu, 5 Sep 2019 15:03:44 -0700 Subject: [PATCH 4/6] removed temp code I forgot to remove --- .../VisualStudioWorkspaceStatusServiceFactory.cs | 8 +------- 1 file changed, 1 insertion(+), 7 deletions(-) diff --git a/src/VisualStudio/Core/Def/Implementation/Workspace/VisualStudioWorkspaceStatusServiceFactory.cs b/src/VisualStudio/Core/Def/Implementation/Workspace/VisualStudioWorkspaceStatusServiceFactory.cs index 3e704a327ca92..a443ba217e809 100644 --- a/src/VisualStudio/Core/Def/Implementation/Workspace/VisualStudioWorkspaceStatusServiceFactory.cs +++ b/src/VisualStudio/Core/Def/Implementation/Workspace/VisualStudioWorkspaceStatusServiceFactory.cs @@ -144,13 +144,7 @@ private async Task EnsureInitializationAsync(CancellationToken cancellationToken return; } - var notification = status as INotifyPropertyChanged; - if (notification == null) - { - - } - - notification.PropertyChanged += (_, e) => this.StatusChanged?.Invoke(this, EventArgs.Empty); + status.PropertyChanged += (_, e) => this.StatusChanged?.Invoke(this, EventArgs.Empty); } } } From 5768ab6b3a8283f22b6e032f859831c2c7207edf Mon Sep 17 00:00:00 2001 From: HeeJae Chang Date: Thu, 5 Sep 2019 18:11:57 -0700 Subject: [PATCH 5/6] resolve RS1016 issue --- .../AbstractRenameTrackingCodeFixProvider.cs | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/EditorFeatures/Core/Implementation/RenameTracking/AbstractRenameTrackingCodeFixProvider.cs b/src/EditorFeatures/Core/Implementation/RenameTracking/AbstractRenameTrackingCodeFixProvider.cs index 38cbd5f0c5abc..727bcd8fc8545 100644 --- a/src/EditorFeatures/Core/Implementation/RenameTracking/AbstractRenameTrackingCodeFixProvider.cs +++ b/src/EditorFeatures/Core/Implementation/RenameTracking/AbstractRenameTrackingCodeFixProvider.cs @@ -5,9 +5,7 @@ using System.Linq; using System.Threading.Tasks; using Microsoft.CodeAnalysis.CodeFixes; -using Microsoft.CodeAnalysis.Editor.Host; using Microsoft.VisualStudio.Text.Operations; -using Roslyn.Utilities; namespace Microsoft.CodeAnalysis.Editor.Implementation.RenameTracking { @@ -46,5 +44,10 @@ public sealed override Task RegisterCodeFixesAsync(CodeFixContext context) return Task.CompletedTask; } + + public override FixAllProvider GetFixAllProvider() + { + return null; + } } } From a5c82f3c2b4bae1263d390562bd57a8beee30e9e Mon Sep 17 00:00:00 2001 From: Heejae Chang Date: Fri, 6 Sep 2019 12:14:48 -0700 Subject: [PATCH 6/6] added github issue link --- eng/config/rulesets/Shipping.ruleset | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/eng/config/rulesets/Shipping.ruleset b/eng/config/rulesets/Shipping.ruleset index 97842fef71637..5a63d9e38c0f6 100644 --- a/eng/config/rulesets/Shipping.ruleset +++ b/eng/config/rulesets/Shipping.ruleset @@ -164,7 +164,7 @@ - +