Attention: Here be dragons

This is the latest (unstable) version of this documentation, which may document features not available in or compatible with released stable versions of Godot.

ScriptEditor

Наследует: PanelContainer < Container < Control < CanvasItem < Node < Object

Редактор скриптов редактора Godot.

Описание

Редактор скриптов редактора Godot.

Примечание: Этот класс не следует инстанцировать напрямую. Вместо этого получите доступ к синглтону с помощью EditorInterface.get_script_editor().

Методы

void

clear_docs_from_script(script: Script)

Error

close_file(path: String)

PackedStringArray

get_breakpoints()

ScriptEditorBase

get_current_editor() const

Script

get_current_script()

Array[ScriptEditorBase]

get_open_script_editors() const

Array[Script]

get_open_scripts() const

PackedStringArray

get_unsaved_files() const

void

goto_help(topic: String)

void

goto_line(line_number: int)

void

open_script_create_dialog(base_name: String, base_path: String)

void

register_syntax_highlighter(syntax_highlighter: EditorSyntaxHighlighter)

void

reload_open_files()

void

save_all_scripts()

void

unregister_syntax_highlighter(syntax_highlighter: EditorSyntaxHighlighter)

void

update_docs_from_script(script: Script)


Сигналы

editor_script_changed(script: Script) 🔗

Выдается, когда пользователь изменил активный скрипт. Аргумент — недавно активированный Script.


script_close(script: Script) 🔗

Выдается, когда редактор собирается закрыть активный скрипт. Аргумент — Script, который будет закрыт.


Описания метода

void clear_docs_from_script(script: Script) 🔗

Удаляет документацию для указанного script.

Примечание: Этот вызов следует выполнять при каждом изменении скрипта, чтобы поддерживать состояние открытой документации в актуальном состоянии.


Error close_file(path: String) 🔗

Закрывает файл по заданному path, отбрасывая все несохранённые изменения.

Возвращает @GlobalScope.OK в случае успеха или @GlobalScope.ERR_FILE_NOT_FOUND, если файл не найден.


PackedStringArray get_breakpoints() 🔗

Возвращает массив точек останова.


ScriptEditorBase get_current_editor() const 🔗

Возвращает объект ScriptEditorBase, который пользователь в данный момент редактирует.


Script get_current_script() 🔗

Возвращает Script, который в данный момент активен в редакторе.


Array[ScriptEditorBase] get_open_script_editors() const 🔗

Возвращает массив со всеми объектами ScriptEditorBase, которые в данный момент открыты в редакторе.


Array[Script] get_open_scripts() const 🔗

Возвращает массив со всеми объектами Script, которые в данный момент открыты в редакторе.


PackedStringArray get_unsaved_files() const 🔗

Возвращает массив путей к файлам скриптов с несохранёнными изменениями, открытых в редакторе.


void goto_help(topic: String) 🔗

Открывает справку по заданной теме. topic — это закодированная строка, которая управляет тем, какой класс, метод, константа, сигнал, аннотация, свойство или элемент темы должны быть в фокусе.

Поддерживаемые форматы topic включают class_name:class, class_method:class:method, class_constant:class:constant, class_signal:class:signal, class_annotation:class:@annotation, class_property:class:property и class_theme_item:class:item, где class — имя класса, method — имя метода, constant — имя константы, signal — имя сигнала, annotation — имя аннотации, property — имя свойства, а item — элемент темы.

# Показывает справку по классу Node.
class_name:Node
# Показывает справку по глобальной функции min.
# Глобальные объекты доступны в пространстве имен `@GlobalScope`, показанном здесь.
class_method:@GlobalScope:min
# Показывает справку по get_viewport в классе Node.
class_method:Node:get_viewport
# Показывает справку по константе ввода MOUSE_BUTTON_MIDDLE.
class_constant:Input:MOUSE_BUTTON_MIDDLE
# Показывает справку по нажатому сигналу BaseButton.
class_signal:BaseButton:pressed
# Показывает справку по свойству CanvasItem visible.
class_property:CanvasItem:visible
# Показывает справку по экспорту аннотаций GDScript.
# Аннотации должны начинаться с символа `@` в дескрипторе, как показано здесь.
class_annotation:@GDScript:@export
# Показывает справку по элементу темы GraphNode с именем panel_selected.
class_theme_item:GraphNode:panel_selected

void goto_line(line_number: int) 🔗

Переход к указанной строке текущего скрипта.


void open_script_create_dialog(base_name: String, base_path: String) 🔗

Открывает диалог создания скрипта. Скрипт будет расширять base_name. Расширение файла может быть опущено в base_path. Оно будет добавлено на основе выбранного языка скрипта.


void register_syntax_highlighter(syntax_highlighter: EditorSyntaxHighlighter) 🔗

Регистрирует EditorSyntaxHighlighter в редакторе, EditorSyntaxHighlighter будет доступен во всех открытых скриптах.

Примечание: Не применяется к уже открытым скриптам.


void reload_open_files() 🔗

Перезагружает все файлы, которые открыты на данный момент. Это должно быть использовано когда открытые файлы изменились снаружи редактора скриптов. Пользователю может быть предложено решить конфликты с файлами, см. EditorSettings.text_editor/behavior/files/auto_reload_scripts_on_external_change.


void save_all_scripts() 🔗

Сохраняет все открытые скрипты.


void unregister_syntax_highlighter(syntax_highlighter: EditorSyntaxHighlighter) 🔗

Отменяет регистрацию EditorSyntaxHighlighter в редакторе.

Примечание: EditorSyntaxHighlighter по-прежнему будет применяться к скриптам, которые уже открыты.


void update_docs_from_script(script: Script) 🔗

Обновляет документацию для указанного script.

Примечание: Этот вызов следует выполнять при каждом изменении скрипта, чтобы поддерживать открытую документацию в актуальном состоянии.