Создание сценарных шаблонов

Godot предоставляет способ использования сценарных шаблонов, как показано в Script Create Dialog, при создании нового скрипта:

../../_images/script_create_dialog_templates.png

Набор сценарных шаблонов предоставляется по умолчанию, но также можно изменять существующие и создавать новые, как для каждого проекта, так и для редактора.

Расположение шаблонов

Есть два места, где можно управлять шаблонами.

Шаблоны, определенные редактором

Они доступны глобально в рамках любого проекта. Расположение этих шаблонов определяется для каждой ОС:

  • Windows: %APPDATA%\Godot\script_templates\

  • Linux: $HOME/.config/godot/script_templates/

  • macOS: $HOME/Library/Application Support/Godot/script_templates/

Если script_templates не обнаружен, Godot автоматически создаст набор встроенных шаблонов по умолчанию, поэтому эта логика может быть использована для сброса шаблонов по умолчанию в случае их случайной перезаписи.

Шаблоны, определенные проектом

По умолчанию для поиска шаблонов используется каталог res://script_templates/. Путь можно изменить, настроив параметр editor/script_templates_search_path в ProjectSettings, как с помощью кода, так и с помощью редактора.

Если в проекте не найден каталог script_templates, он просто игнорируется.

Языковая поддержка и переопределяющее поведение

В зависимости от того, реализует ли конкретный язык способ генерирования скриптов из шаблонов, можно создать шаблон, который может быть распознан этим языком в соответствии с расширением файла шаблона. Для GDScript и C# расширения должны быть gd и cs соответственно.

Примечание

The script templates have the same extension as the regular script files. This may lead to an issue of a script parser treating those templates as actual scripts within a project. To avoid this, make sure to ignore the directory containing them by creating an empty .gdignore file. The directory won't be visible throughout the project's filesystem anymore, yet the templates can be modified by an external text editor anytime.

Встроенные шаблоны редактора автоматически затеняются шаблонами конкретного проекта, если оба сценария имеют одинаковое имя файла.

Шаблон по умолчанию

Шаблон Default всегда генерируется динамически для каждого языка и не может быть настроен или переопределен, но вы можете использовать его в качестве основы для создания других шаблонов.

extends %BASE%


# Declare member variables here. Examples:
# var a%INT_TYPE% = 2
# var b%STRING_TYPE% = "text"


# Called when the node enters the scene tree for the first time.
func _ready()%VOID_RETURN%:
    pass # Replace with function body.


# Called every frame. 'delta' is the elapsed time since the previous frame.
#func _process(delta%FLOAT_TYPE%)%VOID_RETURN%:
#   pass

Список заполнителей шаблонов

Ниже приведен полный список встроенных заполнителей шаблонов, которые в настоящее время реализованы.

Базовые заполнители

Заполнитель

Описание

%CLASS%

Имя нового класса (используется только в C#).

%BASE%

Базовый тип, от которого наследуется новый сценарий.

%TS%

Заполнитель вдавливания. Точный тип и количество пробелов, используемых для отступа, определяются настройками text_editor/indent/type и text_editor/indent/size в файле EditorSettings соответственно.

Типы заполнителей

Они актуальны только для GDScript со статической типизацией. Будут ли эти заполнители фактически заменены, определяется параметром text_editor/completion/add_type_hints в файле EditorSettings.

Заполнитель

Значение

%INT_TYPE%

: int

%STRING_TYPE%

: String

%FLOAT_TYPE%

: float

%VOID_RETURN%

-> void