diff --git a/.editorconfig b/.editorconfig index 3189f0d9ab7..3b58df10fad 100644 --- a/.editorconfig +++ b/.editorconfig @@ -39,6 +39,9 @@ dotnet_separate_import_directive_groups = false # IDE0005 - Remove unnecessary imports dotnet_diagnostic.IDE0005.severity = warning +# IDE0052 - Private member can be removed +dotnet_diagnostic.IDE0052.severity = warning + # IDE0046: If expression can be simplified dotnet_style_prefer_conditional_expression_over_return = false:silent diff --git a/src/Razor/src/Microsoft.AspNetCore.Razor.LanguageServer/AutoInsert/OnAutoInsertEndpoint.cs b/src/Razor/src/Microsoft.AspNetCore.Razor.LanguageServer/AutoInsert/OnAutoInsertEndpoint.cs index b2d85de56b2..9c08dc58bbe 100644 --- a/src/Razor/src/Microsoft.AspNetCore.Razor.LanguageServer/AutoInsert/OnAutoInsertEndpoint.cs +++ b/src/Razor/src/Microsoft.AspNetCore.Razor.LanguageServer/AutoInsert/OnAutoInsertEndpoint.cs @@ -31,14 +31,12 @@ internal class OnAutoInsertEndpoint( IClientConnection clientConnection, IAutoInsertService autoInsertService, RazorLSPOptionsMonitor optionsMonitor, - IAdhocWorkspaceFactory workspaceFactory, IRazorFormattingService razorFormattingService, ILoggerFactory loggerFactory) : AbstractRazorDelegatingEndpoint(languageServerFeatureOptions, documentMappingService, clientConnection, loggerFactory.GetOrCreateLogger()), ICapabilitiesProvider { private readonly LanguageServerFeatureOptions _languageServerFeatureOptions = languageServerFeatureOptions; private readonly RazorLSPOptionsMonitor _optionsMonitor = optionsMonitor; - private readonly IAdhocWorkspaceFactory _workspaceFactory = workspaceFactory; private readonly IRazorFormattingService _razorFormattingService = razorFormattingService; private readonly IAutoInsertService _autoInsertService = autoInsertService; diff --git a/src/Razor/src/Microsoft.CodeAnalysis.Remote.Razor/DocumentSymbols/RemoteDocumentSymbolService.cs b/src/Razor/src/Microsoft.CodeAnalysis.Remote.Razor/DocumentSymbols/RemoteDocumentSymbolService.cs index 4968c5825f8..8cda0e8854c 100644 --- a/src/Razor/src/Microsoft.CodeAnalysis.Remote.Razor/DocumentSymbols/RemoteDocumentSymbolService.cs +++ b/src/Razor/src/Microsoft.CodeAnalysis.Remote.Razor/DocumentSymbols/RemoteDocumentSymbolService.cs @@ -8,7 +8,6 @@ using Microsoft.CodeAnalysis.ExternalAccess.Razor; using Microsoft.CodeAnalysis.Razor.Protocol.DocumentSymbols; using Microsoft.CodeAnalysis.Razor.Remote; -using Microsoft.CodeAnalysis.Razor.Workspaces; using Microsoft.CodeAnalysis.Remote.Razor.ProjectSystem; using Microsoft.VisualStudio.LanguageServer.Protocol; using ExternalHandlers = Microsoft.CodeAnalysis.ExternalAccess.Razor.Cohost.Handlers; @@ -24,7 +23,6 @@ protected override IRemoteDocumentSymbolService CreateService(in ServiceArgs arg } private readonly IDocumentSymbolService _documentSymbolService = args.ExportProvider.GetExportedValue(); - private readonly IFilePathService _filePathService = args.ExportProvider.GetExportedValue(); public ValueTask?> GetDocumentSymbolsAsync(JsonSerializableRazorPinnedSolutionInfoWrapper solutionInfo, JsonSerializableDocumentId razorDocumentId, bool useHierarchicalSymbols, CancellationToken cancellationToken) => RunServiceAsync( diff --git a/src/Razor/src/Microsoft.VisualStudio.LanguageServices.Razor/LanguageClient/Cohost/CohostOnAutoInsertEndpoint.cs b/src/Razor/src/Microsoft.VisualStudio.LanguageServices.Razor/LanguageClient/Cohost/CohostOnAutoInsertEndpoint.cs index 1b90bd110ac..83582d20a46 100644 --- a/src/Razor/src/Microsoft.VisualStudio.LanguageServices.Razor/LanguageClient/Cohost/CohostOnAutoInsertEndpoint.cs +++ b/src/Razor/src/Microsoft.VisualStudio.LanguageServices.Razor/LanguageClient/Cohost/CohostOnAutoInsertEndpoint.cs @@ -44,7 +44,6 @@ internal class CohostOnAutoInsertEndpoint( { private readonly IRemoteServiceInvoker _remoteServiceInvoker = remoteServiceInvoker; private readonly IClientSettingsManager _clientSettingsManager = clientSettingsManager; - private readonly IEnumerable _onAutoInsertTriggerCharacterProviders = onAutoInsertTriggerCharacterProviders; private readonly IHtmlDocumentSynchronizer _htmlDocumentSynchronizer = htmlDocumentSynchronizer; private readonly LSPRequestInvoker _requestInvoker = requestInvoker; private readonly ILogger _logger = loggerFactory.GetOrCreateLogger(); @@ -55,12 +54,12 @@ private static ImmutableArray CalculateTriggerChars(IEnumerable provider.TriggerCharacter).Distinct(); - ImmutableArray _triggerCharacters = [ + ImmutableArray triggerCharacters = [ .. providerTriggerCharacters, .. AutoInsertService.HtmlAllowedAutoInsertTriggerCharacters, .. AutoInsertService.CSharpAllowedAutoInsertTriggerCharacters ]; - return _triggerCharacters; + return triggerCharacters; } protected override bool MutatesSolutionState => false; diff --git a/src/Razor/src/Microsoft.VisualStudio.LanguageServices.Razor/LanguageClient/Cohost/CohostSignatureHelpEndpoint.cs b/src/Razor/src/Microsoft.VisualStudio.LanguageServices.Razor/LanguageClient/Cohost/CohostSignatureHelpEndpoint.cs index 22a7035793b..3451e0ddb9c 100644 --- a/src/Razor/src/Microsoft.VisualStudio.LanguageServices.Razor/LanguageClient/Cohost/CohostSignatureHelpEndpoint.cs +++ b/src/Razor/src/Microsoft.VisualStudio.LanguageServices.Razor/LanguageClient/Cohost/CohostSignatureHelpEndpoint.cs @@ -9,7 +9,6 @@ using Microsoft.AspNetCore.Razor.LanguageServer.Hosting; using Microsoft.CodeAnalysis; using Microsoft.CodeAnalysis.ExternalAccess.Razor.Cohost; -using Microsoft.CodeAnalysis.Razor.Logging; using Microsoft.CodeAnalysis.Razor.Remote; using Microsoft.CodeAnalysis.Razor.Workspaces; using Microsoft.VisualStudio.LanguageServer.ContainedLanguage; @@ -34,15 +33,13 @@ internal class CohostSignatureHelpEndpoint( IRemoteServiceInvoker remoteServiceInvoker, IClientSettingsManager clientSettingsManager, IHtmlDocumentSynchronizer htmlDocumentSynchronizer, - LSPRequestInvoker requestInvoker, - ILoggerFactory loggerFactory) + LSPRequestInvoker requestInvoker) : AbstractRazorCohostDocumentRequestHandler?>, IDynamicRegistrationProvider { private readonly IRemoteServiceInvoker _remoteServiceInvoker = remoteServiceInvoker; private readonly IClientSettingsManager _clientSettingsManager = clientSettingsManager; private readonly IHtmlDocumentSynchronizer _htmlDocumentSynchronizer = htmlDocumentSynchronizer; private readonly LSPRequestInvoker _requestInvoker = requestInvoker; - private readonly ILogger _logger = loggerFactory.GetOrCreateLogger(); protected override bool MutatesSolutionState => false; diff --git a/src/Razor/src/Microsoft.VisualStudio.LanguageServices.Razor/LanguageClient/Cohost/CohostWorkspaceSpellCheckEndpoint.cs b/src/Razor/src/Microsoft.VisualStudio.LanguageServices.Razor/LanguageClient/Cohost/CohostWorkspaceSpellCheckEndpoint.cs index 79876202a35..7f447ab5611 100644 --- a/src/Razor/src/Microsoft.VisualStudio.LanguageServices.Razor/LanguageClient/Cohost/CohostWorkspaceSpellCheckEndpoint.cs +++ b/src/Razor/src/Microsoft.VisualStudio.LanguageServices.Razor/LanguageClient/Cohost/CohostWorkspaceSpellCheckEndpoint.cs @@ -6,7 +6,6 @@ using System.Threading.Tasks; using Microsoft.AspNetCore.Razor.Threading; using Microsoft.CodeAnalysis.ExternalAccess.Razor.Cohost; -using Microsoft.CodeAnalysis.Razor.Remote; using Microsoft.VisualStudio.LanguageServer.Protocol; namespace Microsoft.VisualStudio.Razor.LanguageClient.Cohost; @@ -15,14 +14,9 @@ namespace Microsoft.VisualStudio.Razor.LanguageClient.Cohost; [Shared] [CohostEndpoint(VSInternalMethods.WorkspaceSpellCheckableRangesName)] [ExportCohostStatelessLspService(typeof(CohostWorkspaceSpellCheckEndpoint))] -[method: ImportingConstructor] #pragma warning restore RS0030 // Do not use banned APIs -internal sealed class CohostWorkspaceSpellCheckEndpoint( - IRemoteServiceInvoker remoteServiceInvoker) - : AbstractRazorCohostRequestHandler +internal sealed class CohostWorkspaceSpellCheckEndpoint : AbstractRazorCohostRequestHandler { - private readonly IRemoteServiceInvoker _remoteServiceInvoker = remoteServiceInvoker; - protected override bool MutatesSolutionState => false; protected override bool RequiresLSPSolution => false; diff --git a/src/Razor/src/Microsoft.VisualStudio.RazorExtension/Snippets/SnippetService.cs b/src/Razor/src/Microsoft.VisualStudio.RazorExtension/Snippets/SnippetService.cs index ded3433d909..c05789c9698 100644 --- a/src/Razor/src/Microsoft.VisualStudio.RazorExtension/Snippets/SnippetService.cs +++ b/src/Razor/src/Microsoft.VisualStudio.RazorExtension/Snippets/SnippetService.cs @@ -29,8 +29,6 @@ internal class SnippetService private readonly IAdvancedSettingsStorage _advancedSettingsStorage; private IVsExpansionManager? _vsExpansionManager; - private readonly object _cacheGuard = new(); - private static readonly Guid s_CSharpLanguageId = new("694dd9b6-b865-4c5b-ad85-86356e9c88dc"); private static readonly Guid s_HtmlLanguageId = new("9bbfd173-9770-47dc-b191-651b7ff493cd"); diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.LanguageServer.Test/AutoInsert/OnAutoInsertEndpointTest.NetFx.cs b/src/Razor/test/Microsoft.AspNetCore.Razor.LanguageServer.Test/AutoInsert/OnAutoInsertEndpointTest.NetFx.cs index b5bb61530e2..65d6063d5b2 100644 --- a/src/Razor/test/Microsoft.AspNetCore.Razor.LanguageServer.Test/AutoInsert/OnAutoInsertEndpointTest.NetFx.cs +++ b/src/Razor/test/Microsoft.AspNetCore.Razor.LanguageServer.Test/AutoInsert/OnAutoInsertEndpointTest.NetFx.cs @@ -4,7 +4,6 @@ using System; using System.Threading.Tasks; using Microsoft.AspNetCore.Razor.LanguageServer.Formatting; -using Microsoft.AspNetCore.Razor.LanguageServer.Test; using Microsoft.CodeAnalysis.Razor.AutoInsert; using Microsoft.CodeAnalysis.Razor.ProjectSystem; using Microsoft.CodeAnalysis.Testing; @@ -34,7 +33,6 @@ public async Task Handle_SingleProvider_InvokesProvider() languageServer, new AutoInsertService([insertProvider]), optionsMonitor, - TestAdhocWorkspaceFactory.Instance, formattingService, LoggerFactory); var @params = new VSInternalDocumentOnAutoInsertParams() @@ -84,7 +82,6 @@ public async Task Handle_MultipleProviderSameTrigger_UsesSuccessful() languageServer, new AutoInsertService([insertProvider1, insertProvider2]), optionsMonitor, - TestAdhocWorkspaceFactory.Instance, formattingService, LoggerFactory); var @params = new VSInternalDocumentOnAutoInsertParams() @@ -137,7 +134,6 @@ public async Task Handle_MultipleProviderSameTrigger_UsesFirstSuccessful() languageServer, new AutoInsertService([insertProvider1, insertProvider2]), optionsMonitor, - TestAdhocWorkspaceFactory.Instance, formattingService, LoggerFactory); var @params = new VSInternalDocumentOnAutoInsertParams() @@ -182,7 +178,6 @@ public async Task Handle_NoApplicableProvider_CallsProviderAndReturnsNull() languageServer, new AutoInsertService([insertProvider]), optionsMonitor, - TestAdhocWorkspaceFactory.Instance, formattingService, LoggerFactory); var @params = new VSInternalDocumentOnAutoInsertParams() @@ -225,7 +220,6 @@ public async Task Handle_OnTypeFormattingOff_Html_CallsLanguageServer() languageServer, new AutoInsertService([insertProvider]), optionsMonitor, - TestAdhocWorkspaceFactory.Instance, formattingService, LoggerFactory); var @params = new VSInternalDocumentOnAutoInsertParams() @@ -266,7 +260,6 @@ public async Task Handle_AutoInsertAttributeQuotesOff_Html_DoesNotCallLanguageSe languageServer, new AutoInsertService([insertProvider]), optionsMonitor, - TestAdhocWorkspaceFactory.Instance, formattingService, LoggerFactory); var @params = new VSInternalDocumentOnAutoInsertParams() @@ -412,7 +405,6 @@ private async Task VerifyCSharpOnAutoInsertAsync(string input, string expected, languageServer, new AutoInsertService([insertProvider]), optionsMonitor, - TestAdhocWorkspaceFactory.Instance, formattingService, LoggerFactory); diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.LanguageServer.Test/AutoInsert/OnAutoInsertEndpointTest.cs b/src/Razor/test/Microsoft.AspNetCore.Razor.LanguageServer.Test/AutoInsert/OnAutoInsertEndpointTest.cs index 6811b702468..9bd79676417 100644 --- a/src/Razor/test/Microsoft.AspNetCore.Razor.LanguageServer.Test/AutoInsert/OnAutoInsertEndpointTest.cs +++ b/src/Razor/test/Microsoft.AspNetCore.Razor.LanguageServer.Test/AutoInsert/OnAutoInsertEndpointTest.cs @@ -5,7 +5,6 @@ using System.Diagnostics.CodeAnalysis; using System.Threading.Tasks; using Microsoft.AspNetCore.Razor.Language; -using Microsoft.AspNetCore.Razor.LanguageServer.Test; using Microsoft.CodeAnalysis.Razor.AutoInsert; using Microsoft.VisualStudio.LanguageServer.Protocol; using Xunit; @@ -34,7 +33,6 @@ public async Task Handle_MultipleProviderUnmatchingTrigger_ReturnsNull() languageServer, autoInsertService, optionsMonitor, - TestAdhocWorkspaceFactory.Instance, null!, LoggerFactory); var @params = new VSInternalDocumentOnAutoInsertParams() @@ -76,7 +74,6 @@ public async Task Handle_DocumentNotFound_ReturnsNull() languageServer, new AutoInsertService([insertProvider]), optionsMonitor, - TestAdhocWorkspaceFactory.Instance, null!, LoggerFactory); var uri = new Uri("file://path/test.razor"); @@ -120,7 +117,6 @@ public async Task Handle_UnsupportedCodeDocument_ReturnsNull() languageServer, new AutoInsertService([insertProvider]), optionsMonitor, - TestAdhocWorkspaceFactory.Instance, razorFormattingService: null!, LoggerFactory); var @params = new VSInternalDocumentOnAutoInsertParams() @@ -161,7 +157,7 @@ public async Task Handle_OnTypeFormattingOff_CSharp_ReturnsNull() DocumentMappingService, languageServer, new AutoInsertService([insertProvider]), - optionsMonitor, TestAdhocWorkspaceFactory.Instance, + optionsMonitor, razorFormattingService: null!, LoggerFactory); var @params = new VSInternalDocumentOnAutoInsertParams() diff --git a/src/Razor/test/Microsoft.VisualStudio.LanguageServices.Razor.Test/Cohost/CohostSignatureHelpEndpointTest.cs b/src/Razor/test/Microsoft.VisualStudio.LanguageServices.Razor.Test/Cohost/CohostSignatureHelpEndpointTest.cs index 276e1de71a1..7c599b0a3ed 100644 --- a/src/Razor/test/Microsoft.VisualStudio.LanguageServices.Razor.Test/Cohost/CohostSignatureHelpEndpointTest.cs +++ b/src/Razor/test/Microsoft.VisualStudio.LanguageServices.Razor.Test/Cohost/CohostSignatureHelpEndpointTest.cs @@ -99,7 +99,7 @@ private async Task VerifySignatureHelpAsync(string input, string expected, bool var requestInvoker = new TestLSPRequestInvoker([(Methods.TextDocumentSignatureHelpName, null)]); - var endpoint = new CohostSignatureHelpEndpoint(RemoteServiceInvoker, clientSettingsManager, TestHtmlDocumentSynchronizer.Instance, requestInvoker, LoggerFactory); + var endpoint = new CohostSignatureHelpEndpoint(RemoteServiceInvoker, clientSettingsManager, TestHtmlDocumentSynchronizer.Instance, requestInvoker); var signatureHelpContext = new SignatureHelpContext() { diff --git a/src/Shared/Microsoft.AspNetCore.Razor.Utilities.Shared/PooledObjects/PooledHashSet`1.cs b/src/Shared/Microsoft.AspNetCore.Razor.Utilities.Shared/PooledObjects/PooledHashSet`1.cs index ff006967ea4..f976a5b58f0 100644 --- a/src/Shared/Microsoft.AspNetCore.Razor.Utilities.Shared/PooledObjects/PooledHashSet`1.cs +++ b/src/Shared/Microsoft.AspNetCore.Razor.Utilities.Shared/PooledObjects/PooledHashSet`1.cs @@ -16,7 +16,9 @@ namespace Microsoft.AspNetCore.Razor.PooledObjects; internal ref struct PooledHashSet { private readonly ObjectPool> _pool; +#pragma warning disable IDE0052 // Used in NET only code below. Called API doesn't exist on framework. private readonly int? _capacity; +#pragma warning restore IDE0052 private HashSet? _set; public PooledHashSet()