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

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 соответственно.

Примечание

Шаблоны сценариев имеют то же расширение, что и обычные файлы сценариев. Это может привести к тому, что парсер скриптов будет воспринимать эти шаблоны как реальные скрипты в проекте. Чтобы избежать этого, убедитесь, что игнорируете каталог, содержащий их, создав пустой .gdignore файл. Директория больше не будет видна в файловой системе проекта, но шаблоны могут быть изменены внешним текстовым редактором в любое время.

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

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

Шаблон 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