feat(webIde): Enable Settings Diagnostics for WebIde
Description
These changes extend the Configuration Settings section of the Diagnostics page introduced in this MR: feat(desktop): Adding Settings section to Diagn... (!2506 - merged).
The previous MR did not provide logic to have configuration settings section for the webide since the amount of settings is different between the two instances.
This MR introduces a BaseSettingsStateDiagnosticsRenderer class that has the common rendered functions between desktop and browser. There is a settings_diagnostics_renderer.ts in both desktop and browser that extend the BasesettingsStateDiagnosticsRenderer class. This implementation will almost 100% be replaced by this, [VS Code] Consider using JSON for Diagnostics Page (#1924 - closed), in the coming milestone. The current implementation is not pretty, but it is a good first iteration.
Tests have been added where it seems appropriate.
Related Issues
Resolves [VS Code][WebIDE] Settings validation Diagnosti... (#1921 - closed)
How has this been tested?
If you have not set up the webide before, please refer to the following instructions:
The setup takes 5-10 minutes, but please reach out if you run into any issues.
Once the WebIde is running, check out this branch in the vscode-extension submodule and run yarn run start:example.
Run the GitLab: Diagnostics command from the command palette and the settings section will render.
Change settings and watch the diagnostics page change too!
-
If src/browserorsrc/commonhas been modified, please consider interoperability with the Web IDE. See Running the Extension in WebIDE. -
Consider an end-to-end test for significant new features that aren't covered by integration tests.
Screenshots (if appropriate)
What CHANGELOG entry will this MR create?
-
fix:Bug fix fixes - a user-facing issue in production - included in changelog -
feature:New feature - a user-facing change which adds functionality - included in changelog -
BREAKING CHANGE:(fix or feature that would cause existing functionality to change) - should bump major version, mentioned in the changelog -
None - other non-user-facing changes