Skip to content

Code Quality: Implement AOT-safe json settings class#18454

Draft
0x5bfa wants to merge 3 commits intofiles-community:mainfrom
0x5bfa:5bfa/CQ-Reflection3
Draft

Code Quality: Implement AOT-safe json settings class#18454
0x5bfa wants to merge 3 commits intofiles-community:mainfrom
0x5bfa:5bfa/CQ-Reflection3

Conversation

@0x5bfa
Copy link
Copy Markdown
Member

@0x5bfa 0x5bfa commented May 4, 2026

Resolved / Related Issues

The current settings system is not AOT-safe since it relies on reflection when deserializing. The new one is strongly typed and AOT-safe.

The new class has built-in support for defaulting a setting's value, customizing when getting a setting, migrating a setting.

  • DefaultValue = OpenInIDEOption.GitRepos
  • DefaultValueCallback = nameof(GetDefaultIDEName)
  • GetValueCallback = nameof(GetInfoPaneSize)
  • MigrateValueCallback = nameof(MigrateLegacySingleClickSettings)

Steps used to test these changes

Not yet

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant