-
Notifications
You must be signed in to change notification settings - Fork 229
Open
Labels
area-compilerUmbrella for all compiler issuesUmbrella for all compiler issuesfeature-hot-reloadThis issue is related to the Hot Reload featureThis issue is related to the Hot Reload featureperf 📊tooling big rock ⚪vsvsmac
Milestone
Description
Today, razor tooling hosts the razor compiler in order to create design time documents. These are then injected into the Roslyn workspace via IDynamicDocumentInfoProvider.
Because the Roslyn workspace has the source generator, it also produces the same documents, and must be explicitly suppressed.
These means the compiler is used in two different ways: one for the tooling and one for the source generator. Ideally, we would just allow the source generator to run, and 'pull in' to the tooling the generated outputs. This would simplify the design of the compiler, allowing to potentially unlock performance enhancements.
Work items:
- Give Razor to access generator host outputs from Roslyn #8642
- Make
RazorCodeDocumentserializable #8643 - Implement LSP endpoints to request code document internals #8644
- Create a 'facade' code document that serializes on demand #8645
- Feature flag to switch been locally and remotely generated code documents #8646
- Use serialized code document internals inside tooling instead of generating locally #8647
- Stop injecting documents via IDynamicDocumentInfo and turn on generation in the generator #8648
IDE:
Metadata
Metadata
Assignees
Labels
area-compilerUmbrella for all compiler issuesUmbrella for all compiler issuesfeature-hot-reloadThis issue is related to the Hot Reload featureThis issue is related to the Hot Reload featureperf 📊tooling big rock ⚪vsvsmac