diff --git a/doc/classes/EditorSettings.xml b/doc/classes/EditorSettings.xml index 389d65e05a0f..cf08c08ce2db 100644 --- a/doc/classes/EditorSettings.xml +++ b/doc/classes/EditorSettings.xml @@ -1307,6 +1307,9 @@ If [code]true[/code], class reference pages are grouped together at the bottom of the Script Editor's script list. + + If [code]true[/code], the scripts that are used by the current scene are highlighted in the Script Editor's script list. + Specifies how script paths should be displayed in Script Editor's script list. If using the "Name" option and some scripts share the same file name, more parts of their paths are revealed to avoid conflicts. diff --git a/editor/editor_settings.cpp b/editor/editor_settings.cpp index 96a7700c34a5..585bfc0283f2 100644 --- a/editor/editor_settings.cpp +++ b/editor/editor_settings.cpp @@ -690,6 +690,7 @@ void EditorSettings::_load_defaults(Ref p_extra_config) { _initial_set("text_editor/script_list/sort_members_outline_alphabetically", false); _initial_set("text_editor/script_list/script_temperature_enabled", true); _initial_set("text_editor/script_list/script_temperature_history_size", 15); + _initial_set("text_editor/script_list/highlight_scene_scripts", true); _initial_set("text_editor/script_list/group_help_pages", true); EDITOR_SETTING(Variant::INT, PROPERTY_HINT_ENUM, "text_editor/script_list/sort_scripts_by", 0, "Name,Path,None"); EDITOR_SETTING(Variant::INT, PROPERTY_HINT_ENUM, "text_editor/script_list/list_script_names_as", 0, "Name,Parent Directory And Name,Full Path"); diff --git a/editor/plugins/script_editor_plugin.cpp b/editor/plugins/script_editor_plugin.cpp index 25198e00bf1e..23b43d48153a 100644 --- a/editor/plugins/script_editor_plugin.cpp +++ b/editor/plugins/script_editor_plugin.cpp @@ -2137,8 +2137,6 @@ void ScriptEditor::_update_script_colors() { continue; } - script_list->set_item_custom_bg_color(i, Color(0, 0, 0, 0)); - if (script_temperature_enabled) { int pass = n->get_meta("__editor_pass", -1); if (pass < 0) { @@ -2164,7 +2162,7 @@ void ScriptEditor::_update_script_names() { HashSet> used; Node *edited = EditorNode::get_singleton()->get_edited_scene(); - if (edited) { + if (edited && EDITOR_GET("text_editor/script_list/highlight_scene_scripts")) { _find_scripts(edited, edited, used); } @@ -2334,7 +2332,7 @@ void ScriptEditor::_update_script_names() { script_list->set_item_tooltip(index, sedata_filtered[i].tooltip); script_list->set_item_metadata(index, sedata_filtered[i].index); /* Saving as metadata the script's index in the tab container and not the filtered one */ if (sedata_filtered[i].used) { - script_list->set_item_custom_bg_color(index, Color(88 / 255.0, 88 / 255.0, 60 / 255.0)); + script_list->set_item_custom_bg_color(index, Color(.5, .5, .5, .1)); } if (tab_container->get_current_tab() == sedata_filtered[i].index) { script_list->select(index);