Skip to content

Reorganize interface/editor setttings#114971

Merged
Repiteo merged 1 commit into
godotengine:masterfrom
KoBeWi:resettings
Feb 27, 2026
Merged

Reorganize interface/editor setttings#114971
Repiteo merged 1 commit into
godotengine:masterfrom
KoBeWi:resettings

Conversation

@KoBeWi
Copy link
Copy Markdown
Member

@KoBeWi KoBeWi commented Jan 15, 2026

The Interface/Editor section of editor settings has gotten too big. It feels like a dump for settings that has nowhere better to go. Lack of good grouping even led to some issues, like #114829 and its follow-up.

This PR reorganizes this section a bit, by adding sub-sections. TBH sub-sections seem under-utilized in editor settings, some sections could even be merged, instead of having sections with like 2-3 settings. I also added a method that can handle setting compatibility, so more thorough renames are possible in the future.
Although renaming settings is rather annoying. I made a script that handles it, but check_settings_changed_in_group() uses partial names, so automatic handling is not reliable.

Before After
image image

@KoBeWi KoBeWi added this to the 4.x milestone Jan 15, 2026
@KoBeWi KoBeWi requested review from a team as code owners January 15, 2026 01:07
@KoBeWi KoBeWi requested review from a team as code owners January 15, 2026 01:07
@KoBeWi KoBeWi requested a review from a team January 15, 2026 01:07
@KoBeWi KoBeWi requested review from a team as code owners January 15, 2026 01:07
@Repiteo Repiteo requested a review from a team as a code owner February 17, 2026 20:09
Copy link
Copy Markdown
Contributor

@AdriaandeJongh AdriaandeJongh left a comment

Choose a reason for hiding this comment

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

Having the titles / subsections is a good improvement over the current long list. However, will this break compatibility for any code referencing those settings?

@KoBeWi
Copy link
Copy Markdown
Member Author

KoBeWi commented Feb 20, 2026

However, will this break compatibility for any code referencing those settings?

Yes. I could add some extra compatibility code, but we never did that when renaming settings 🤷‍♂️

@AdriaandeJongh
Copy link
Copy Markdown
Contributor

I think with editor settings it's fine, as long as we let users know in an upgrade guide? Should we add the break combat label to this then?

Copy link
Copy Markdown
Contributor

@AdriaandeJongh AdriaandeJongh left a comment

Choose a reason for hiding this comment

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

LGTM. Let's organize this screen! I didn't scrutinize the chosen titles and categories; at first glance it looks good.

Copy link
Copy Markdown
Contributor

@kitbdev kitbdev left a comment

Choose a reason for hiding this comment

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

Categories look good to me, the organization is helpful.

Unlike previous setting changes, these ones are a lot more common, especially settings like interface/editor/editor_language or interface/editor/main_font_size (https://github.com/search?q=%22interface%2Feditor%22+lang%3AGDScript+&type=code). So I think we should have compatibility for it.
_rename_setting could add to a compatibility-only hashmap and then it can be checked in get / set / has_setting.

I found some new setting uses that will need to be changed (needs rebase):

Vector<String> variation_tags = String(EDITOR_GET("interface/editor/code_font_custom_variations")).split(",");

Vector<String> variation_tags = String(EDITOR_GET("interface/editor/code_font_custom_variations")).split(",");

@KoBeWi
Copy link
Copy Markdown
Member Author

KoBeWi commented Feb 25, 2026

I added compatibility HashMap. You can now get and set settings using their old name. (should it display a warning though?)

Copy link
Copy Markdown
Contributor

@kitbdev kitbdev left a comment

Choose a reason for hiding this comment

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

Looks good.
Since it still works and doesn't break compat I guess it doesn't need a warning.

@Repiteo Repiteo merged commit 634220e into godotengine:master Feb 27, 2026
20 checks passed
@Repiteo
Copy link
Copy Markdown
Contributor

Repiteo commented Feb 27, 2026

Thanks!

@KoBeWi KoBeWi deleted the resettings branch February 27, 2026 21:48
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.

4 participants