Object that holds the project-independent editor settings.
</brief_description>
<description>
Object that holds the project-independent editor settings. These settings are generally visible in the [b]Editor > Editor Settings[/b] menu.
Property names use slash delimiters to distinguish sections. Setting values can be of any [Variant] type. It's recommended to use [code]snake_case[/code] for editor settings to be consistent with the Godot editor itself.
Accessing the settings can be done using the following methods, such as:
[codeblock]
# `settings.set("some/property", value)` also works as this class overrides `_set()` internally.
settings.set_setting("some/property",value)
# `settings.get("some/property", value)` also works as this class overrides `_get()` internally.
settings.get_setting("some/property")
var list_of_settings = settings.get_property_list()
[/codeblock]
[b]Note:[/b] This class shouldn't be instantiated directly. Instead, access the singleton using [method EditorInterface.get_editor_settings].
</description>
<tutorials>
</tutorials>
<methods>
<methodname="add_property_info">
<returntype="void"/>
<argumentindex="0"name="info"type="Dictionary"/>
<description>
Adds a custom property info to a property. The dictionary must contain:
- [code]name[/code]: [String] (the name of the property)
- [code]type[/code]: [int] (see [enum Variant.Type])
- optionally [code]hint[/code]: [int] (see [enum PropertyHint]) and [code]hint_string[/code]: [String]
[b]Example:[/b]
[codeblock]
editor_settings.set("category/property_name", 0)
var property_info = {
"name": "category/property_name",
"type": TYPE_INT,
"hint": PROPERTY_HINT_ENUM,
"hint_string": "one,two,three"
}
editor_settings.add_property_info(property_info)
[/codeblock]
</description>
</method>
<methodname="erase">
<returntype="void"/>
<argumentindex="0"name="property"type="String"/>
<description>
Erases the setting whose name is specified by [code]property[/code].
</description>
</method>
<methodname="get_favorites"qualifiers="const">
<returntype="PoolStringArray"/>
<description>
Returns the list of favorite files and directories for this project.
Returns project-specific metadata for the [code]section[/code] and [code]key[/code] specified. If the metadata doesn't exist, [code]default[/code] will be returned instead. See also [method set_project_metadata].
Returns the project-specific settings path. Projects all have a unique subdirectory inside the settings path where project-specific settings are saved.
</description>
</method>
<methodname="get_recent_dirs"qualifiers="const">
<returntype="PoolStringArray"/>
<description>
Returns the list of recently visited folders in the file dialog for this project.
</description>
</method>
<methodname="get_setting"qualifiers="const">
<returntype="Variant"/>
<argumentindex="0"name="name"type="String"/>
<description>
Returns the value of the setting specified by [code]name[/code]. This is equivalent to using [method Object.get] on the EditorSettings instance.
</description>
</method>
<methodname="get_settings_dir"qualifiers="const">
<returntype="String"/>
<description>
Gets the global settings path for the engine. Inside this path, you can find some standard paths such as:
[code]settings/tmp[/code] - Used for temporary storage of files
[code]settings/templates[/code] - Where export templates are located
</description>
</method>
<methodname="has_setting"qualifiers="const">
<returntype="bool"/>
<argumentindex="0"name="name"type="String"/>
<description>
Returns [code]true[/code] if the setting specified by [code]name[/code] exists, [code]false[/code] otherwise.
</description>
</method>
<methodname="property_can_revert">
<returntype="bool"/>
<argumentindex="0"name="name"type="String"/>
<description>
Returns [code]true[/code] if the setting specified by [code]name[/code] can have its value reverted to the default value, [code]false[/code] otherwise. When this method returns [code]true[/code], a Revert button will display next to the setting in the Editor Settings.
</description>
</method>
<methodname="property_get_revert">
<returntype="Variant"/>
<argumentindex="0"name="name"type="String"/>
<description>
Returns the default value of the setting specified by [code]name[/code]. This is the value that would be applied when clicking the Revert button in the Editor Settings.
Sets project-specific metadata with the [code]section[/code], [code]key[/code] and [code]data[/code] specified. This metadata is stored outside the project folder and therefore won't be checked into version control. See also [method get_project_metadata].
Sets the list of recently visited folders in the file dialog for this project.
</description>
</method>
<methodname="set_setting">
<returntype="void"/>
<argumentindex="0"name="name"type="String"/>
<argumentindex="1"name="value"type="Variant"/>
<description>
Sets the [code]value[/code] of the setting specified by [code]name[/code]. This is equivalent to using [method Object.set] on the EditorSettings instance.
Emitted after any editor setting has changed. It's used by various editor plugins to update their visuals on theme changes or logic on configuration changes.