## Summary of the Pull Request This adds `ToJson` functions to `Profile`, `GlobalAppSettings`, and `ColorScheme`. They are used in `CascadiaSettings` to completely serialize an instance of the settings model. Thanks to #7923, all of the settings are `std::optional`, and `JsonUtils` only writes out values that are actually populated. `CascadiaSettings::WriteSettingsToDisk` serializes the current settings and writes them to the settings.json. A backup file is created with your old contents. #### Limitations: - all of the color schemes are serialized regardless of them coming from defaults.json or settings.json - keybindings/actions are copied/pasted ## References #1564 - Settings UI TSM Specs (#6904 and #7876) ## PR Checklist * [x] Tests added/passed |
||
---|---|---|
.. | ||
ColorHelperTests.cpp | ||
DynamicProfileTests.cpp | ||
JsonTests.cpp | ||
JsonUtilsTests.cpp | ||
precomp.cpp | ||
precomp.h | ||
TerminalApp.Unit.Tests.AppxManifest.xml | ||
TerminalApp.Unit.Tests.manifest | ||
TerminalApp.UnitTests.vcxproj | ||
TestDynamicProfileGenerator.h |