Scripting: Add script documentation cache to project

This PR adds a script documentation cache in the project folder.
It is loaded at alongside native documentation caches. This makes
scripts fully accessible through Search Help, including their
members, etc, right from project start, without having to compile
every single script.

Co-authored-by: Hilderin <81109165+Hilderin@users.noreply.github.com>
This commit is contained in:
ocean 2024-08-19 17:03:03 -04:00
parent 74907876d3
commit 72045c8306
8 changed files with 358 additions and 148 deletions

View file

@ -507,8 +507,9 @@ void EditorNode::_gdextensions_reloaded() {
// Reload script editor to revalidate GDScript if classes are added or removed.
ScriptEditor::get_singleton()->reload_scripts(true);
// Regenerate documentation.
EditorHelp::generate_doc();
// Regenerate documentation without using script documentation cache since that would
// revert doc changes during this session.
EditorHelp::generate_doc(true, false);
}
void EditorNode::_update_theme(bool p_skip_creation) {
@ -717,6 +718,7 @@ void EditorNode::_notification(int p_what) {
if (save_accept) {
save_accept->queue_free();
}
EditorHelp::save_script_doc_cache();
editor_data.save_editor_external_data();
FileAccess::set_file_close_fail_notify_callback(nullptr);
log->deinit(); // Do not get messages anymore.