Object that holds the project-independent editor settings. These settings are generally visible in the Editor > Editor Settings menu.
Property names use slash delimiters to distinguish sections. Setting values can be of any Variant
type. It's recommended to use snake_case
for editor settings to be consistent with the Godot editor itself.
Accessing the settings can be done using the following methods, such as:
# `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()
Note: This class shouldn't be instantiated directly. Instead, access the singleton using godot.EditorInterface.getEditorSettings
.
Static variables
staticread onlyNOTIFICATION_EDITOR_SETTINGS_CHANGED:Int
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.
Variables
Methods
addPropertyInfo(info:Dictionary):Void
Adds a custom property info to a property. The dictionary must contain:
-
name
:String
(the name of the property) -
type
:Int
(seegodot.Variant_Type
) -
optionally
hint
:Int
(seegodot.PropertyHint
) andhint_string
:String
Example:
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)
inlinegetFavorites():Array<String>
Returns the list of favorite files and directories for this project.
getProjectMetadata(section:String, key:String, ?default_:Dynamic):Dynamic
Returns project-specific metadata for the section
and key
specified. If the metadata doesn't exist, default
will be returned instead. See also godot.EditorSettings.setProjectMetadata
.
getProjectSettingsDir():String
Returns the project-specific settings path. Projects all have a unique subdirectory inside the settings path where project-specific settings are saved.
inlinegetRecentDirs():Array<String>
Returns the list of recently visited folders in the file dialog for this project.
getSetting(name:String):Dynamic
Returns the value of the setting specified by name
. This is equivalent to using godot.Object.get
on the EditorSettings instance.
getSettingsDir():String
Gets the global settings path for the engine. Inside this path, you can find some standard paths such as:
settings/tmp
- Used for temporary storage of files
settings/templates
- Where export templates are located
propertyCanRevert(name:String):Bool
Returns true
if the setting specified by name
can have its value reverted to the default value, false
otherwise. When this method returns true
, a Revert button will display next to the setting in the Editor Settings.
propertyGetRevert(name:String):Dynamic
Returns the default value of the setting specified by name
. This is the value that would be applied when clicking the Revert button in the Editor Settings.
setFavorites(dirs:HaxeArray<String>):Void
Sets the list of favorite files and directories for this project.
setInitialValue(name:String, value:Dynamic, updateCurrent:Bool):Void
Sets the initial value of the setting specified by name
to value
. This is used to provide a value for the Revert button in the Editor Settings. If update_current
is true, the current value of the setting will be set to value
as well.
setProjectMetadata(section:String, key:String, data:Dynamic):Void
Sets project-specific metadata with the section
, key
and data
specified. This metadata is stored outside the project folder and therefore won't be checked into version control. See also godot.EditorSettings.getProjectMetadata
.
setRecentDirs(dirs:HaxeArray<String>):Void
Sets the list of recently visited folders in the file dialog for this project.
setSetting(name:String, value:Dynamic):Void
Sets the value
of the setting specified by name
. This is equivalent to using godot.Object.set
on the EditorSettings instance.