diff --git a/doc/classes/ScriptEditor.xml b/doc/classes/ScriptEditor.xml index 7d8cfe021bd..d0f602826f4 100644 --- a/doc/classes/ScriptEditor.xml +++ b/doc/classes/ScriptEditor.xml @@ -99,6 +99,12 @@ [b]Note:[/b] Does not apply to scripts that are already opened. + + + + Reloads all currently opened files. This should be used when opened files are changed outside of the script editor. The user may be prompted to resolve file conflicts, see [member EditorSettings.text_editor/behavior/files/auto_reload_scripts_on_external_change]. + + diff --git a/editor/project_upgrade/renames_map_3_to_4.cpp b/editor/project_upgrade/renames_map_3_to_4.cpp index 278d57d73a6..31a6a194187 100644 --- a/editor/project_upgrade/renames_map_3_to_4.cpp +++ b/editor/project_upgrade/renames_map_3_to_4.cpp @@ -478,6 +478,7 @@ const char *RenamesMap3To4::gdscript_function_renames[][2] = { { "region_bake_navmesh", "region_bake_navigation_mesh" }, // Navigation3DServer { "region_set_navmesh", "region_set_navigation_mesh" }, // Navigation3DServer { "region_set_navpoly", "region_set_navigation_polygon" }, // Navigation2DServer + { "reload_scripts", "reload_open_files" }, // ScriptEditor { "remove_animation", "remove_animation_library" }, // AnimationPlayer { "remove_color_override", "remove_theme_color_override" }, // Control { "remove_constant_override", "remove_theme_constant_override" }, // Control diff --git a/editor/script/script_editor_plugin.cpp b/editor/script/script_editor_plugin.cpp index 77c5033e779..ef65c219224 100644 --- a/editor/script/script_editor_plugin.cpp +++ b/editor/script/script_editor_plugin.cpp @@ -2348,6 +2348,11 @@ bool ScriptEditor::edit(const Ref &p_resource, int p_line, int p_col, return true; } +void ScriptEditor::reload_open_files() { + _test_script_times_on_disk(); + _update_modified_scripts_for_external_editor(); +} + PackedStringArray ScriptEditor::get_unsaved_scripts() const { PackedStringArray unsaved_list; @@ -3742,6 +3747,7 @@ void ScriptEditor::_bind_methods() { ClassDB::bind_method(D_METHOD("get_current_script"), &ScriptEditor::_get_current_script); ClassDB::bind_method(D_METHOD("get_open_scripts"), &ScriptEditor::_get_open_scripts); ClassDB::bind_method(D_METHOD("open_script_create_dialog", "base_name", "base_path"), &ScriptEditor::open_script_create_dialog); + ClassDB::bind_method(D_METHOD("reload_open_files"), &ScriptEditor::reload_open_files); ClassDB::bind_method(D_METHOD("goto_help", "topic"), &ScriptEditor::goto_help); ClassDB::bind_method(D_METHOD("update_docs_from_script", "script"), &ScriptEditor::update_docs_from_script); diff --git a/editor/script/script_editor_plugin.h b/editor/script/script_editor_plugin.h index bfffa461bcc..2de8f176866 100644 --- a/editor/script/script_editor_plugin.h +++ b/editor/script/script_editor_plugin.h @@ -423,6 +423,7 @@ public: Vector _get_breakpoints(); void get_breakpoints(List *p_breakpoints); + void reload_open_files(); PackedStringArray get_unsaved_scripts() const; void save_current_script(); void save_all_scripts();