Skip to content

[Sonic] Completion support for multiple C# documents - #84222

Merged
davidwengier merged 6 commits into
dotnet:features/sonicfrom
davidwengier:SonicCompletion
Jun 24, 2026
Merged

[Sonic] Completion support for multiple C# documents#84222
davidwengier merged 6 commits into
dotnet:features/sonicfrom
davidwengier:SonicCompletion

Conversation

@davidwengier

@davidwengier davidwengier commented Jun 22, 2026

Copy link
Copy Markdown
Member

Review commit-at-a-time is thoroughly recommended because, like others, I moved the code to Remote.Razor. First 4 commits are purely mechanical changes because of that. There are a lot of completion files.

The actual sonic work here is pretty slim.

Microsoft Reviewers: Open in CodeFlow

davidwengier and others added 6 commits June 22, 2026 11:50
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@davidwengier
davidwengier requested a review from a team as a code owner June 22, 2026 05:02
Copilot AI review requested due to automatic review settings June 22, 2026 05:02

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR moves Razor completion implementation into Microsoft.CodeAnalysis.Remote.Razor and extends delegated C# completion/resolve to be aware of multiple generated C# documents (declaration vs implementation) via an InDeclDocument flow-through.

Changes:

  • Add InDeclDocument to DelegatedCompletionResolutionContext and thread it through Remote completion request/resolve and C# formatting so the correct generated C# document is used.
  • Consolidate/export completion services/providers in Microsoft.CodeAnalysis.Remote.Razor (removing OOP wrapper types) and update unit tests accordingly.
  • Move HTML completion schema/resources to Remote.Razor (generator output namespaces, embedded resource logical names) and update localization/resources.

Reviewed changes

Copilot reviewed 95 out of 124 changed files in this pull request and generated 1 comment.

Show a summary per file
File Description
src/Razor/src/Razor/tools/HtmlCompletionDataGenerator/README.md Updates generator usage path to Remote.Razor output.
src/Razor/src/Razor/tools/HtmlCompletionDataGenerator/CodeEmitter.cs Emits Remote.Razor namespaces/resource base names for generated HTML completion code.
src/Razor/src/Razor/test/Microsoft.CodeAnalysis.Remote.Razor.UnitTests/Microsoft.CodeAnalysis.Remote.Razor.UnitTests.csproj Adds global using aliases for LSP completion protocol types in tests.
src/Razor/src/Razor/test/Microsoft.CodeAnalysis.Remote.Razor.UnitTests/Completion/TagHelperCompletionProviderTest.cs Updates namespace and word-boundary helper usage for moved completion code.
src/Razor/src/Razor/test/Microsoft.CodeAnalysis.Remote.Razor.UnitTests/Completion/RazorCompletionListProviderTest.cs Switches to new facts service implementation and Remote.Razor namespace.
src/Razor/src/Razor/test/Microsoft.CodeAnalysis.Remote.Razor.UnitTests/Completion/MarkupTransitionCompletionItemProviderTest.cs Updates namespace and word-boundary helper usage.
src/Razor/src/Razor/test/Microsoft.CodeAnalysis.Remote.Razor.UnitTests/Completion/LocalHtmlCompletionProviderTest.cs Updates namespace and HTML completion provider namespace usage.
src/Razor/src/Razor/test/Microsoft.CodeAnalysis.Remote.Razor.UnitTests/Completion/LanguageServerTagHelperCompletionServiceTest.cs Updates namespace to Remote.Razor completion.
src/Razor/src/Razor/test/Microsoft.CodeAnalysis.Remote.Razor.UnitTests/Completion/DirectiveVerifier.cs Updates namespace to Remote.Razor completion.
src/Razor/src/Razor/test/Microsoft.CodeAnalysis.Remote.Razor.UnitTests/Completion/DirectiveCompletionItemProviderTest.cs Updates namespace; still validates directive completion behavior.
src/Razor/src/Razor/test/Microsoft.CodeAnalysis.Remote.Razor.UnitTests/Completion/DirectiveAttributeTransitionCompletionItemProviderTest.cs Updates namespace and word-boundary helper usage.
src/Razor/src/Razor/test/Microsoft.CodeAnalysis.Remote.Razor.UnitTests/Completion/DirectiveAttributeEventParameterCompletionItemProviderTest.cs Updates namespace and word-boundary helper usage.
src/Razor/src/Razor/test/Microsoft.CodeAnalysis.Remote.Razor.UnitTests/Completion/DirectiveAttributeCompletionItemProviderTest.ParameterNames.cs Updates namespace and completion facts service usage.
src/Razor/src/Razor/test/Microsoft.CodeAnalysis.Remote.Razor.UnitTests/Completion/DirectiveAttributeCompletionItemProviderTest.AttributeNames.cs Updates namespace and word-boundary helper usage.
src/Razor/src/Razor/test/Microsoft.CodeAnalysis.Remote.Razor.UnitTests/Completion/DirectiveAttributeCompletionItemProviderBaseTest.cs Updates namespace and word-boundary helper usage.
src/Razor/src/Razor/test/Microsoft.CodeAnalysis.Remote.Razor.UnitTests/Completion/DefaultRazorCompletionFactsServiceTest.cs Updates test to use new RazorCompletionFactsService and removes test-only derived type.
src/Razor/src/Razor/test/Microsoft.CodeAnalysis.Remote.Razor.UnitTests/Completion/CSharpRazorKeywordCompletionItemProviderTests.cs Updates namespace and word-boundary helper usage for moved completion code.
src/Razor/src/Razor/test/Microsoft.CodeAnalysis.Remote.Razor.UnitTests/Completion/BlazorDataAttributeCompletionItemProviderTest.cs Updates namespace and word-boundary helper usage.
src/Razor/src/Razor/test/Microsoft.CodeAnalysis.Razor.CohostingShared.UnitTests/Endpoints/CohostDocumentCompletionResolveEndpointTest.cs Updates resolve context construction to include InDeclDocument.
src/Razor/src/Razor/test/Microsoft.CodeAnalysis.Razor.CohostingShared.UnitTests/Endpoints/CohostDocumentCompletionEndpointTest.cs Adds/updates cohosting completion tests and enables previously skipped scenarios.
src/Razor/src/Razor/src/Microsoft.CodeAnalysis.Remote.Razor/Resources/xlf/SR.zh-Hant.xlf Adds new Remote.Razor localized entries for completion-related resources.
src/Razor/src/Razor/src/Microsoft.CodeAnalysis.Remote.Razor/Resources/xlf/SR.zh-Hans.xlf Adds new Remote.Razor localized entries for completion-related resources.
src/Razor/src/Razor/src/Microsoft.CodeAnalysis.Remote.Razor/Resources/xlf/SR.tr.xlf Adds new Remote.Razor localized entries for completion-related resources.
src/Razor/src/Razor/src/Microsoft.CodeAnalysis.Remote.Razor/Resources/xlf/SR.ru.xlf Adds new Remote.Razor localized entries for completion-related resources.
src/Razor/src/Razor/src/Microsoft.CodeAnalysis.Remote.Razor/Resources/xlf/SR.pt-BR.xlf Adds new Remote.Razor localized entries for completion-related resources.
src/Razor/src/Razor/src/Microsoft.CodeAnalysis.Remote.Razor/Resources/xlf/SR.pl.xlf Adds new Remote.Razor localized entries for completion-related resources.
src/Razor/src/Razor/src/Microsoft.CodeAnalysis.Remote.Razor/Resources/xlf/SR.ko.xlf Adds new Remote.Razor localized entries for completion-related resources.
src/Razor/src/Razor/src/Microsoft.CodeAnalysis.Remote.Razor/Resources/xlf/SR.ja.xlf Adds new Remote.Razor localized entries for completion-related resources.
src/Razor/src/Razor/src/Microsoft.CodeAnalysis.Remote.Razor/Resources/xlf/SR.it.xlf Adds new Remote.Razor localized entries for completion-related resources.
src/Razor/src/Razor/src/Microsoft.CodeAnalysis.Remote.Razor/Resources/xlf/SR.fr.xlf Adds new Remote.Razor localized entries for completion-related resources.
src/Razor/src/Razor/src/Microsoft.CodeAnalysis.Remote.Razor/Resources/xlf/SR.es.xlf Adds new Remote.Razor localized entries for completion-related resources.
src/Razor/src/Razor/src/Microsoft.CodeAnalysis.Remote.Razor/Resources/xlf/SR.de.xlf Adds new Remote.Razor localized entries for completion-related resources.
src/Razor/src/Razor/src/Microsoft.CodeAnalysis.Remote.Razor/Resources/xlf/SR.cs.xlf Adds new Remote.Razor localized entries for completion-related resources.
src/Razor/src/Razor/src/Microsoft.CodeAnalysis.Remote.Razor/Resources/SR.resx Adds completion-related resource strings into Remote.Razor.
src/Razor/src/Razor/src/Microsoft.CodeAnalysis.Remote.Razor/Microsoft.CodeAnalysis.Remote.Razor.csproj Embeds HtmlDescriptions.resx with Remote.Razor logical name.
src/Razor/src/Razor/src/Microsoft.CodeAnalysis.Remote.Razor/Completion/TagHelperCompletionService.cs Moves/exports tag helper completion service into Remote.Razor.
src/Razor/src/Razor/src/Microsoft.CodeAnalysis.Remote.Razor/Completion/TagHelperCompletionProvider.cs Moves/exports tag helper completion provider into Remote.Razor.
src/Razor/src/Razor/src/Microsoft.CodeAnalysis.Remote.Razor/Completion/RemoteCompletionService.cs Threads InDeclDocument through completion and resolve, and uses correct generated C# document.
src/Razor/src/Razor/src/Microsoft.CodeAnalysis.Remote.Razor/Completion/RazorCompletionResolveContext.cs Updates namespace for resolve context type.
src/Razor/src/Razor/src/Microsoft.CodeAnalysis.Remote.Razor/Completion/RazorCompletionListProvider.cs Exports list provider and updates word-boundary helper usage.
src/Razor/src/Razor/src/Microsoft.CodeAnalysis.Remote.Razor/Completion/RazorCompletionItemResolver.cs Updates namespace/imports for moved resolver.
src/Razor/src/Razor/src/Microsoft.CodeAnalysis.Remote.Razor/Completion/RazorCompletionFactsService.cs Replaces abstract facts service with exported sealed implementation using ImportMany.
src/Razor/src/Razor/src/Microsoft.CodeAnalysis.Remote.Razor/Completion/RazorCompletionContext.cs Updates namespace/imports for moved context record.
src/Razor/src/Razor/src/Microsoft.CodeAnalysis.Remote.Razor/Completion/OOPTagHelperCompletionService.cs Removes OOP wrapper service type.
src/Razor/src/Razor/src/Microsoft.CodeAnalysis.Remote.Razor/Completion/OOPRazorCompletionListProvider.cs Removes OOP wrapper list provider type.
src/Razor/src/Razor/src/Microsoft.CodeAnalysis.Remote.Razor/Completion/OOPRazorCompletionItemProviders.cs Removes OOP wrapper completion provider exports.
src/Razor/src/Razor/src/Microsoft.CodeAnalysis.Remote.Razor/Completion/OOPRazorCompletionFactsService.cs Removes OOP wrapper facts service type.
src/Razor/src/Razor/src/Microsoft.CodeAnalysis.Remote.Razor/Completion/MarkupTransitionCompletionItemProvider.cs Moves/exports markup transition completion provider into Remote.Razor.
src/Razor/src/Razor/src/Microsoft.CodeAnalysis.Remote.Razor/Completion/ITagHelperCompletionService.cs Updates namespace for completion service interface.
src/Razor/src/Razor/src/Microsoft.CodeAnalysis.Remote.Razor/Completion/IRazorCompletionItemProvider.cs Updates namespace for completion provider interface.
src/Razor/src/Razor/src/Microsoft.CodeAnalysis.Remote.Razor/Completion/IRazorCompletionFactsService.cs Updates namespace for completion facts interface.
src/Razor/src/Razor/src/Microsoft.CodeAnalysis.Remote.Razor/Completion/Html/LocalHtmlCompletionResolveContext.cs Updates namespace for HTML resolve context.
src/Razor/src/Razor/src/Microsoft.CodeAnalysis.Remote.Razor/Completion/Html/LocalHtmlCompletionProvider.PositionKind.cs Updates namespace for HTML completion helper type.
src/Razor/src/Razor/src/Microsoft.CodeAnalysis.Remote.Razor/Completion/Html/LocalHtmlCompletionProvider.PositionContext.cs Updates namespace for HTML completion helper type.
src/Razor/src/Razor/src/Microsoft.CodeAnalysis.Remote.Razor/Completion/Html/LocalHtmlCompletionProvider.EntityCompletion.cs Updates namespace for HTML completion helper type.
src/Razor/src/Razor/src/Microsoft.CodeAnalysis.Remote.Razor/Completion/Html/LocalHtmlCompletionProvider.cs Updates namespace/imports; uses Remote.Razor SR resources for tooltip/baseline text.
src/Razor/src/Razor/src/Microsoft.CodeAnalysis.Remote.Razor/Completion/Html/LocalHtmlCompletionProvider_Fallback.cs Updates namespace for HTML completion helper type.
src/Razor/src/Razor/src/Microsoft.CodeAnalysis.Remote.Razor/Completion/Html/HtmlCompletionImageMonikers.cs Updates namespace for HTML completion image monikers.
src/Razor/src/Razor/src/Microsoft.CodeAnalysis.Remote.Razor/Completion/Html/Generated/HtmlElements.All.g.cs Generated HTML schema code namespace updated to Remote.Razor.
src/Razor/src/Razor/src/Microsoft.CodeAnalysis.Remote.Razor/Completion/Html/Generated/HtmlElementKind.g.cs Generated HTML schema code namespace updated to Remote.Razor.
src/Razor/src/Razor/src/Microsoft.CodeAnalysis.Remote.Razor/Completion/Html/Generated/HtmlElementInfo.g.cs Generated HTML schema code namespace updated to Remote.Razor.
src/Razor/src/Razor/src/Microsoft.CodeAnalysis.Remote.Razor/Completion/Html/Generated/HtmlElementGroups.Unique.g.cs Generated HTML schema code namespace updated to Remote.Razor.
src/Razor/src/Razor/src/Microsoft.CodeAnalysis.Remote.Razor/Completion/Html/Generated/HtmlElementGroups.Shared.g.cs Generated HTML schema code namespace updated to Remote.Razor.
src/Razor/src/Razor/src/Microsoft.CodeAnalysis.Remote.Razor/Completion/Html/Generated/HtmlDescriptions.g.cs Generated resource accessor updated for Remote.Razor resource base name.
src/Razor/src/Razor/src/Microsoft.CodeAnalysis.Remote.Razor/Completion/Html/Generated/HtmlCompletionData.g.cs Generated HTML schema entry point namespace updated to Remote.Razor.
src/Razor/src/Razor/src/Microsoft.CodeAnalysis.Remote.Razor/Completion/Html/Generated/HtmlAttributeValueGroups.Unique.g.cs Generated HTML schema code namespace updated to Remote.Razor.
src/Razor/src/Razor/src/Microsoft.CodeAnalysis.Remote.Razor/Completion/Html/Generated/HtmlAttributeValueGroups.Shared.g.cs Generated HTML schema code namespace updated to Remote.Razor.
src/Razor/src/Razor/src/Microsoft.CodeAnalysis.Remote.Razor/Completion/Html/Generated/HtmlAttributes.Unique.g.cs Generated HTML schema code namespace updated to Remote.Razor.
src/Razor/src/Razor/src/Microsoft.CodeAnalysis.Remote.Razor/Completion/Html/Generated/HtmlAttributes.Shared.g.cs Generated HTML schema code namespace updated to Remote.Razor.
src/Razor/src/Razor/src/Microsoft.CodeAnalysis.Remote.Razor/Completion/Html/Generated/HtmlAttributeKind.g.cs Generated HTML schema code namespace updated to Remote.Razor.
src/Razor/src/Razor/src/Microsoft.CodeAnalysis.Remote.Razor/Completion/Html/Generated/HtmlAttributeInfo.g.cs Generated HTML schema code namespace updated to Remote.Razor.
src/Razor/src/Razor/src/Microsoft.CodeAnalysis.Remote.Razor/Completion/Html/Generated/HtmlAttributeGroups.Unique.g.cs Generated HTML schema code namespace updated to Remote.Razor.
src/Razor/src/Razor/src/Microsoft.CodeAnalysis.Remote.Razor/Completion/Html/Generated/HtmlAttributeGroups.Shared.g.cs Generated HTML schema code namespace updated to Remote.Razor.
src/Razor/src/Razor/src/Microsoft.CodeAnalysis.Remote.Razor/Completion/ElementCompletionResult.cs Updates namespace for element completion result type.
src/Razor/src/Razor/src/Microsoft.CodeAnalysis.Remote.Razor/Completion/ElementCompletionContext.cs Updates namespace for element completion context type.
src/Razor/src/Razor/src/Microsoft.CodeAnalysis.Remote.Razor/Completion/DirectiveCompletionItemProvider.cs Moves/exports directive completion provider into Remote.Razor.
src/Razor/src/Razor/src/Microsoft.CodeAnalysis.Remote.Razor/Completion/DirectiveAttributeTransitionCompletionItemProvider.cs Moves/exports directive attribute transition provider into Remote.Razor.
src/Razor/src/Razor/src/Microsoft.CodeAnalysis.Remote.Razor/Completion/DirectiveAttributeEventParameterCompletionItemProvider.cs Moves/exports directive attribute event parameter provider into Remote.Razor.
src/Razor/src/Razor/src/Microsoft.CodeAnalysis.Remote.Razor/Completion/DirectiveAttributeCompletionItemProviderBase.cs Updates namespace for directive attribute base provider.
src/Razor/src/Razor/src/Microsoft.CodeAnalysis.Remote.Razor/Completion/DirectiveAttributeCompletionItemProvider.cs Moves/exports directive attribute provider; updates commit character helper reference.
src/Razor/src/Razor/src/Microsoft.CodeAnalysis.Remote.Razor/Completion/DirectiveAttributeCompletionItemProvider.AttributeCompletionDetails.cs Updates namespace for attribute completion details nested type.
src/Razor/src/Razor/src/Microsoft.CodeAnalysis.Remote.Razor/Completion/DirectiveAttributeCompletionContext.cs Updates namespace for directive attribute completion context.
src/Razor/src/Razor/src/Microsoft.CodeAnalysis.Remote.Razor/Completion/CSharpRazorKeywordCompletionItemProvider.cs Moves/exports C# keyword completion provider into Remote.Razor.
src/Razor/src/Razor/src/Microsoft.CodeAnalysis.Remote.Razor/Completion/CompletionSortTextHelper.cs Updates namespace/imports for sort text helper.
src/Razor/src/Razor/src/Microsoft.CodeAnalysis.Remote.Razor/Completion/CompletionReason.cs Updates namespace for completion reason enum.
src/Razor/src/Razor/src/Microsoft.CodeAnalysis.Remote.Razor/Completion/CompletionItemResolver.cs Updates namespace for completion item resolver base type.
src/Razor/src/Razor/src/Microsoft.CodeAnalysis.Remote.Razor/Completion/CompletionContextHelper.cs Updates namespace for context helper.
src/Razor/src/Razor/src/Microsoft.CodeAnalysis.Remote.Razor/Completion/BlazorDataAttributeCompletionItemProvider.cs Moves/exports Blazor data-* completion provider into Remote.Razor.
src/Razor/src/Razor/src/Microsoft.CodeAnalysis.Remote.Razor/Completion/AttributeCompletionResult.cs Updates namespace for attribute completion result.
src/Razor/src/Razor/src/Microsoft.CodeAnalysis.Remote.Razor/Completion/AttributeCompletionContext.cs Updates namespace for attribute completion context.
src/Razor/src/Razor/src/Microsoft.CodeAnalysis.Remote.Razor/Completion/AggregateCompletionItemResolver.cs Updates namespace for aggregated resolver type.
src/Razor/src/Razor/src/Microsoft.CodeAnalysis.Razor.Workspaces/Resources/xlf/SR.zh-Hant.xlf Resets several completion-related translations to state=\"new\" (Workspaces).
src/Razor/src/Razor/src/Microsoft.CodeAnalysis.Razor.Workspaces/Resources/xlf/SR.zh-Hans.xlf Resets several completion-related translations to state=\"new\" (Workspaces).
src/Razor/src/Razor/src/Microsoft.CodeAnalysis.Razor.Workspaces/Resources/xlf/SR.tr.xlf Resets several completion-related translations to state=\"new\" (Workspaces).
src/Razor/src/Razor/src/Microsoft.CodeAnalysis.Razor.Workspaces/Resources/xlf/SR.ru.xlf Resets several completion-related translations to state=\"new\" (Workspaces).
src/Razor/src/Razor/src/Microsoft.CodeAnalysis.Razor.Workspaces/Resources/xlf/SR.pt-BR.xlf Resets several completion-related translations to state=\"new\" (Workspaces).
src/Razor/src/Razor/src/Microsoft.CodeAnalysis.Razor.Workspaces/Resources/xlf/SR.pl.xlf Resets several completion-related translations to state=\"new\" (Workspaces).
src/Razor/src/Razor/src/Microsoft.CodeAnalysis.Razor.Workspaces/Resources/xlf/SR.ko.xlf Resets several completion-related translations to state=\"new\" (Workspaces).
src/Razor/src/Razor/src/Microsoft.CodeAnalysis.Razor.Workspaces/Resources/xlf/SR.ja.xlf Resets several completion-related translations to state=\"new\" (Workspaces).
src/Razor/src/Razor/src/Microsoft.CodeAnalysis.Razor.Workspaces/Resources/xlf/SR.it.xlf Resets several completion-related translations to state=\"new\" (Workspaces).
src/Razor/src/Razor/src/Microsoft.CodeAnalysis.Razor.Workspaces/Resources/xlf/SR.fr.xlf Resets several completion-related translations to state=\"new\" (Workspaces).
src/Razor/src/Razor/src/Microsoft.CodeAnalysis.Razor.Workspaces/Resources/xlf/SR.es.xlf Resets several completion-related translations to state=\"new\" (Workspaces).
src/Razor/src/Razor/src/Microsoft.CodeAnalysis.Razor.Workspaces/Resources/xlf/SR.de.xlf Resets several completion-related translations to state=\"new\" (Workspaces).
src/Razor/src/Razor/src/Microsoft.CodeAnalysis.Razor.Workspaces/Resources/xlf/SR.cs.xlf Resets several completion-related translations to state=\"new\" (Workspaces).
src/Razor/src/Razor/src/Microsoft.CodeAnalysis.Razor.Workspaces/Protocol/DelegatedCompletionResolutionContext.cs Adds InDeclDocument to serialized completion resolve context.
src/Razor/src/Razor/src/Microsoft.CodeAnalysis.Razor.Workspaces/Microsoft.CodeAnalysis.Razor.Workspaces.csproj Removes Workspaces embedding override for HtmlDescriptions.resx.
src/Razor/src/Razor/src/Microsoft.CodeAnalysis.Razor.Workspaces/Completion/LspRazorCompletionFactsService.cs Removes LSP-specific facts service type (now consolidated elsewhere).
src/Razor/src/Razor/src/Microsoft.CodeAnalysis.Razor.Workspaces/Completion/Delegation/DelegatedCompletionHelper.cs Formats delegated C# completion edits using correct generated C# document (decl/impl) and URI mapping.
src/Razor/src/Razor/src/Microsoft.CodeAnalysis.Razor.CohostingShared/Completion/CohostDocumentCompletionEndpoint.cs Populates InDeclDocument when caching delegated completion resolution context.
src/Razor/src/Razor/benchmarks/Microsoft.AspNetCore.Razor.Microbenchmarks/Serialization/CompletionListSerializationBenchmark.cs Updates benchmark namespace imports to Remote.Razor completion types.
Comments suppressed due to low confidence (2)

src/Razor/src/Razor/test/Microsoft.CodeAnalysis.Remote.Razor.UnitTests/Completion/DirectiveCompletionItemProviderTest.cs:17

  • This test still aliases SR from Microsoft.CodeAnalysis.Razor.Workspaces.Resources. Since the completion implementation in this PR has been moved under Microsoft.CodeAnalysis.Remote.Razor (and Remote.Razor now has its own SR.resx), referencing the Workspaces resource set here can mask resource-move mistakes and keeps the old resource keys “alive” unintentionally. Prefer using the Remote.Razor resource SR so tests validate the same resources the product code uses.
    src/Razor/src/Razor/test/Microsoft.CodeAnalysis.Remote.Razor.UnitTests/Completion/CSharpRazorKeywordCompletionItemProviderTests.cs:14
  • This test still aliases SR from Microsoft.CodeAnalysis.Razor.Workspaces.Resources, but the completion implementation/resources in this PR live under Microsoft.CodeAnalysis.Remote.Razor. Using the Workspaces SR here can let resource-move issues slip through and creates unnecessary coupling to the Workspaces resource set. Prefer using Microsoft.CodeAnalysis.Remote.Razor.Resources.SR so the test validates the same resources the product code uses.

@davidwengier

Copy link
Copy Markdown
Member Author

@dotnet/razor-tooling PTAL, one of the last two sonic tooling PRs

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants