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.
Checking the stable version of the documentation...
Створення скриптових шаблонів
Godot надає спосіб використання скриптових шаблонів, як це видно в Script Create Dialog під час створення нового скрипта:
Набір вбудованих шаблонів сценаріїв надається разом із редактором, але також можна створювати нові та встановлювати їх за замовчуванням як для кожного проекту, так і в області редактора.
Шаблони пов’язані з певним типом вузла, тому, коли ви створюєте скрипт, ви побачите лише шаблони, які відповідають цьому конкретному вузлу або одному з його батьківських типів. Наприклад, якщо ви створюєте скрипт для CharacterBody3D, ви побачите лише шаблони, визначені для CharacterBody3D, Node3D або Nodes.
Розташування шаблонів
Є два місця, де можна керувати шаблонами.
Шаблони, визначені редактором
Вони доступні глобально в рамках будь-якого проєкту. Розташування цих шаблонів визначається для кожної ОС:
Windows:
%APPDATA%\Godot\script_templates\Linux:
$HOME/.config/godot/script_templates/macOS:
$HOME/Library/Application Support/Godot/script_templates/
Якщо ви отримуєте Godot не з офіційного веб-сайту, як-от Steam, папка може бути в іншому місці. Знайти його можна за допомогою редактора Godot. Перейдіть до Редактор > Відкрити папку даних/налаштувань редактора, і це відкриє папку у вашому браузері файлів, усередині цієї папки є папка script_templates.
Шаблони, визначені проєктом
Шляхом за замовчуванням для пошуку шаблонів є каталог res://script_templates/. Шлях можна змінити, налаштувавши параметр проекту Editor > Script > Templates Search Path, як через код, так і через редактор.
Якщо в проєкті не знайдено каталог script_templates, то він просто ігнорується.
Організація шаблону та іменування
Як редактор, так і шаблони, визначені проектом, організовані таким чином:
template_path/node_type/file.extension
де:
template_pathє одним із 2 розташувань, розглянутих у попередніх двох розділах.node_typeце вузол, до якого він застосовуватиметься (наприклад, Node або CharacterBody3D), це чутливо до регістру. Якщо скрипт не знаходиться у відповідній папціnode_type, його не буде виявлено.file— це власне ім’я, яке ви можете вибрати для шаблону (наприклад,platformer_movementабоsmooth_camera).extensionвказує, до якої мови застосовуватиметься шаблон (це має бутиgdдля GDScript абоcsдля C#).
Приклад:
script_templates/Node/smooth_camera.gdscript_templates/CharacterBody3D/platformer_movement.gd
Поведінка за замовчуванням та її заміна
За замовчуванням:
ім'я шаблону збігається з ім'ям файлу (без розширення, prettyfied)
опис порожній
відступ пробілу встановлено на 4
шаблон не буде встановлено за замовчуванням для даного вузла
Цю поведінку можна налаштувати, додавши метазаголовки на початку файлу, ось так:
# meta-name: Platformer movement
# meta-description: Predefined movement for classical platformers
# meta-default: true
# meta-space-indent: 4
// meta-name: Platformer movement
// meta-description: Predefined movement for classical platformers
// meta-default: true
// meta-space-indent: 4
У цьому випадку ім’я буде встановлено на «Рух платформера» з заданим спеціальним описом, і його буде встановлено як шаблон за замовчуванням для вузла, у каталозі якого його було збережено.
Це приклад використання спеціальних шаблонів на рівні редактора та проекту:
Примітка
Шаблони сценаріїв мають те саме розширення, що й звичайні файли сценаріїв. Це може призвести до проблеми аналізатора сценаріїв, розглядаючи ці шаблони як фактичні сценарії в рамках проекту. Щоб уникнути цього, переконайтеся, що ігноруєте каталог, що містить їх, створивши порожній файл .gdignore. Каталог більше не буде видимим у файловій системі проекту, але шаблони можна будь-коли змінити за допомогою зовнішнього текстового редактора.
Порада
За замовчуванням кожен файл C# у каталозі проекту включається до компіляції. Шаблони сценаріїв потрібно вручну виключити з проекту C#, щоб уникнути помилок збірки. Перегляньте Виключення файлів із збірки у документації Microsoft.
Можна створювати шаблони рівня редактора, які мають той самий рівень, що й шаблони для конкретного проекту, а також мають таку саму назву, як і вбудовані шаблони, усе це буде показано в діалоговому вікні нового сценарію.
Шаблон Default (за замовчуванням)
Щоб замінити шаблон за замовчуванням, створіть спеціальний шаблон на рівні редактора або проекту в каталозі Node (або більш конкретного типу, якщо потрібно перевизначити лише підтип) і запустіть файл із meta-default : заголовок true.
Лише один шаблон може бути одночасно встановлений за замовчуванням для одного типу вузла.
Тут показано шаблони За замовчуванням для основних вузлів, як для GDScript, так і для C#, щоб ви могли використовувати їх як основу для створення інших шаблонів:
# meta-description: Base template for Node with default Godot cycle methods
extends _BASE_
# Called when the node enters the scene tree for the first time.
func _ready() -> void:
pass # Replace with function body.
# Called every frame. 'delta' is the elapsed time since the previous frame.
func _process(delta: float) -> void:
pass
// meta-description: Base template for Node with default Godot cycle methods
using _BINDINGS_NAMESPACE_;
using System;
public partial class _CLASS_ : _BASE_
{
// Called when the node enters the scene tree for the first time.
public override void _Ready()
{
}
// Called every frame. 'delta' is the elapsed time since the previous frame.
public override void _Process(double delta)
{
}
}
Редактор Godot надає набір корисних вбудованих шаблонів для вузлів, таких як basic_movement для обох CharacterBody2D і CharacterBody3D і plugin для EditorPlugin.
Список заповнювачів шаблону
Далі описується повний перелік вбудованих заповнювачів шаблонів, які реалізовані на даний момент.
Основні заповнювачі
Проміжний |
Опис |
|---|---|
|
Ім'я простору імен Godot (використовується лише в C#). |
|
Назва нового класу. |
|
Назва нового класу як |
|
Базовий тип, який успадковує новий скрипт. |
|
Заповнювач відступу. Точний тип і кількість пробілів, які використовуються для відступів, визначаються налаштуваннями |
Типи заповнювачів
Раніше в Godot 3.x існували заповнювачі для підказок типу GDScript, які замінювалися щоразу, коли шаблон використовувався для створення нового сценарію, наприклад: %INT_TYPE%, %STRING_TYPE%, %FLOAT_TYPE% або %VOID_RETURN%.
Заповнювачі більше не працюють для Godot 4.x, але якщо параметр text_editor/completion/add_type_hints з EditorSettings вимкнено, підказки щодо введення параметрів і типів повернення буде автоматично видалено для декілька базових типів:
intStringArray[String]floatvoid:=буде перетворено на=