.. Generated automatically by doc/tools/makerst.py in Godot's source tree.
.. DO NOT EDIT THIS FILE, but the doc/base/classes.xml source instead.

.. _class_EditorSettings:

EditorSettings
==============

**Inherits:** :ref:`Resource<class_resource>` **<** :ref:`Reference<class_reference>` **<** :ref:`Object<class_object>`

**Category:** Core

Brief Description
-----------------

Object that holds the project-independent editor settings.

Member Functions
----------------

+----------------------------------------+---------------------------------------------------------------------------------------------------------------------------+
| void                                   | :ref:`add_property_info<class_EditorSettings_add_property_info>`  **(** :ref:`Dictionary<class_dictionary>` info  **)**   |
+----------------------------------------+---------------------------------------------------------------------------------------------------------------------------+
| void                                   | :ref:`erase<class_EditorSettings_erase>`  **(** :ref:`String<class_string>` property  **)**                               |
+----------------------------------------+---------------------------------------------------------------------------------------------------------------------------+
| :ref:`StringArray<class_stringarray>`  | :ref:`get_favorite_dirs<class_EditorSettings_get_favorite_dirs>`  **(** **)** const                                       |
+----------------------------------------+---------------------------------------------------------------------------------------------------------------------------+
| :ref:`String<class_string>`            | :ref:`get_project_settings_path<class_EditorSettings_get_project_settings_path>`  **(** **)** const                       |
+----------------------------------------+---------------------------------------------------------------------------------------------------------------------------+
| :ref:`StringArray<class_stringarray>`  | :ref:`get_recent_dirs<class_EditorSettings_get_recent_dirs>`  **(** **)** const                                           |
+----------------------------------------+---------------------------------------------------------------------------------------------------------------------------+
| :ref:`String<class_string>`            | :ref:`get_settings_path<class_EditorSettings_get_settings_path>`  **(** **)** const                                       |
+----------------------------------------+---------------------------------------------------------------------------------------------------------------------------+
| void                                   | :ref:`set_favorite_dirs<class_EditorSettings_set_favorite_dirs>`  **(** :ref:`StringArray<class_stringarray>` dirs  **)** |
+----------------------------------------+---------------------------------------------------------------------------------------------------------------------------+
| void                                   | :ref:`set_recent_dirs<class_EditorSettings_set_recent_dirs>`  **(** :ref:`StringArray<class_stringarray>` dirs  **)**     |
+----------------------------------------+---------------------------------------------------------------------------------------------------------------------------+

Signals
-------

-  **settings_changed**  **(** **)**

Description
-----------

Object that holds the project-independent editor settings. These settings are generally visible in the Editor Settings menu.

Accessing the settings is done by using the regular :ref:`Object<class_object>` API, such as:

::

    settings.set(prop,value)
    settings.get(prop)
    list_of_settings = settings.get_property_list()

Member Function Description
---------------------------

.. _class_EditorSettings_add_property_info:

- void  **add_property_info**  **(** :ref:`Dictionary<class_dictionary>` info  **)**

Add a custom property info to a property. The dictionary must contain: name::ref:`String<class_string>`(the name of the property) and type::ref:`int<class_int>`(see TYPE\_\* in :ref:`@Global Scope<class_@global scope>`), and optionally hint::ref:`int<class_int>`(see PROPERTY_HINT\_\* in :ref:`@Global Scope<class_@global scope>`), hint_string::ref:`String<class_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)

.. _class_EditorSettings_erase:

- void  **erase**  **(** :ref:`String<class_string>` property  **)**

Erase a given setting (pass full property path).

.. _class_EditorSettings_get_favorite_dirs:

- :ref:`StringArray<class_stringarray>`  **get_favorite_dirs**  **(** **)** const

Get the list of favorite directories for this project.

.. _class_EditorSettings_get_project_settings_path:

- :ref:`String<class_string>`  **get_project_settings_path**  **(** **)** const

Get the specific project settings path. Projects all have an unique sub-directory inside the settings path where project specific settings are saved.

.. _class_EditorSettings_get_recent_dirs:

- :ref:`StringArray<class_stringarray>`  **get_recent_dirs**  **(** **)** const

Get the list of recently visited folders in the file dialog for this project.

.. _class_EditorSettings_get_settings_path:

- :ref:`String<class_string>`  **get_settings_path**  **(** **)** const

Get 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

.. _class_EditorSettings_set_favorite_dirs:

- void  **set_favorite_dirs**  **(** :ref:`StringArray<class_stringarray>` dirs  **)**

Set the list of favorite directories for this project.

.. _class_EditorSettings_set_recent_dirs:

- void  **set_recent_dirs**  **(** :ref:`StringArray<class_stringarray>` dirs  **)**

Set the list of recently visited folders in the file dialog for this project.


