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...
Erstellen von Skript-Vorlagen
Godot bietet eine Möglichkeit, Skriptvorlagen zu verwenden, wie im Skript erstellen-Dialog
beim Erstellen eines neuen Skripts dargestellt ist:

Der Editor enthält eine Reihe Built-in-Skriptvorlagen, aber es ist auch möglich, neue Vorlagen zu erstellen und sie als Default einzustellen, sowohl pro Projekt als auch im Editorbereich.
Vorlagen sind mit einem bestimmten Node-Typ verknüpft. Wenn Sie also ein Skript erstellen, werden nur die Vorlagen angezeigt, die diesem bestimmten Node oder einem seiner Parent-Typen entsprechen. Wenn Sie zum Beispiel ein Skript für einen CharacterBody3D erstellen, sehen Sie nur Vorlagen, die für CharacterBody3Ds, Node3Ds oder Nodes definiert sind.
Auffinden der Vorlagen
Es gibt zwei Stellen, an denen Vorlagen verwaltet werden können.
Editor-definierte Vorlagen
Diese sind global in jedem Projekt verfügbar. Der Speicherort dieser Vorlagen wird für jedes Betriebssystem festgelegt:
Windows:
%APPDATA%\Godot\script_templates\
Auf Linux:
$HOME/.config/godot/script_templates/
MacOS:
$HOME/Library/Application Support/Godot/script_templates/
Wenn Sie Godot von einer anderen als der offiziellen Website beziehen, z.B. von Steam, befindet sich der Ordner möglicherweise an einem anderen Ort. Sie können ihn mit dem Godot-Editor finden. Gehen Sie auf Editor > Editor-Daten öffnen/Einstellungs-Ordner
und es wird ein Ordner in Ihrem Dateibrowser geöffnet, in dem sich der Ordner script_templates
befindet.
Projektdefinierte Vorlagen
The default path to search for templates is the
res://script_templates/
directory. The path can be changed by configuring the project setting
Editor > Script > Templates Search Path,
both via code and the editor.
Wenn in einem Projekt kein script_templates
-Verzeichnis gefunden wird, wird es einfach ignoriert.
Organisation und Benennung von Vorlagen
Sowohl editor- als auch projektdefinierte Vorlagen sind auf folgende Weise organisiert:
template_path/node_type/file.extension
wobei:
template_path
is one of the 2 locations discussed in the previous two sections.node_type
is the node it will apply to (for example, Node, or CharacterBody3D), This is case-sensitive. If a script isn't in the propernode_type
folder, it won't be detected.file
is the custom name you can chose for the template (for example,platformer_movement
orsmooth_camera
).extension
indicates which language the template will apply to (it should begd
for GDScript orcs
for C#).
Zum Beispiel:
template_scripts/Node/smooth_camera.gd
template_scripts/CharacterBody3D/platformer_movement.gd
Defaultverhalten und dessen Überschreibung
Standardmäßig:
der Name der Vorlage ist derselbe wie der Dateiname (ohne die Erweiterung und lesbarer gemacht)
die Beschreibung ist leer
die Einrückungstiefe ist auf 4 gesetzt
die Vorlage wird nicht als Default für den angegebenen Node festgelegt
Es ist möglich, dieses Verhalten anzupassen, indem Sie Meta-Header am Anfang Ihrer Datei hinzufügen, etwa so:
# 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
In diesem Fall wird der Name auf "Platformer movement" gesetzt, mit der angegebenen benutzerdefinierten Beschreibung, und es wird als Defaultvorlage für den Node festgelegt, in dessen Verzeichnis er gespeichert wurde.
Dies ist ein Beispiel für die Verwendung von benutzerdefinierten Vorlagen auf Editor- und Projektebene:

Bemerkung
Die Skriptvorlagen haben die gleiche Dateiendung wie die regulären Skriptdateien. Dies kann dazu führen, dass ein Skriptparser diese Vorlagen als tatsächliche Skripte in einem Projekt behandelt. Um dies zu vermeiden, stellen Sie sicher, dass das Verzeichnis, das sie enthält, ignoriert wird, indem Sie eine leere .gdignore
-Datei erstellen. Das Verzeichnis ist dann im Dateisystem des Projekts nicht mehr sichtbar, die Vorlagen können jedoch jederzeit mit einem externen Texteditor bearbeitet werden.
Tipp
Standardmäßig wird jede C#-Datei innerhalb des Projektverzeichnisses in die Kompilierung einbezogen. Skriptvorlagen müssen manuell aus dem C#-Projekt ausgeschlossen werden, um Build-Fehler zu vermeiden. Siehe Dateien vom Build ausschließen in der Microsoft-Dokumentation.
Es ist möglich, Vorlagen auf Editorebene zu erstellen, die auf der gleichen Ebene liegen wie projektspezifische Vorlagen und auch den gleichen Namen wie eine Built-in-Vorlage haben; alle werden im neuen Skriptdialog angezeigt.
Default-Vorlage
Um die Default-Vorlage zu überschreiben, erstellen Sie eine eigene Vorlage auf Editor- oder Projektebene innerhalb eines Node
-Verzeichnisses (oder eines spezifischeren Typs, wenn nur ein Subtyp überschrieben werden soll) und beginnen die Datei mit dem meta-default: true
-Header.
Für denselben Node-Typ kann nur eine Vorlage gleichzeitig als Default festgelegt werden.
Die Default
-Vorlagen für Basis-Nodes, sowohl für GDScript als auch für C#, werden hier gezeigt, damit Sie diese als Basis für die Erstellung anderer Vorlagen verwenden können:
# 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)
{
}
}
Der Godot-Editor bietet eine Reihe nützlicher Built-in-Node-spezifischer Vorlagen, wie z.B. basic_movement
für CharacterBody2D und CharacterBody3D und plugin
für EditorPlugin.
Liste der Vorlagen-Platzhalter
Im Folgenden wird die vollständige Liste der derzeit implementierten Platzhalter für Vorlagen beschrieben.
Basis-Platzhalter
Platzhalter |
Beschreibung |
---|---|
|
Der Name des Godot-Namespaces (nur in C# verwendet). |
|
Der Name der neuen Klasse. |
|
Der Basistyp, von dem ein neues Skript erbt. |
|
Platzhalter für Einrückung. Die genaue Art und Anzahl der Leerzeichen, die für die Einrückung verwendet werden, wird durch die Einstellungen |
Typ-Platzhalter
In Godot 3.x gab es Platzhalter für GDScript-Type-Hints, die immer dann ersetzt wurden, wenn eine Vorlage zur Erstellung eines neuen Skripts verwendet wurde, wie z.B.: %INT_TYPE%
, %STRING_TYPE%
, %FLOAT_TYPE%
oder %VOID_RETURN%
.
Diese Platzhalter funktionieren nicht mehr für Godot 4.x, aber wenn die Einstellung text_editor/completion/add_type_hints
aus EditorSettings deaktiviert ist, werden Type-Hints für Parameter und Rückgabetypen automatisch für einige Basistypen entfernt:
int
String
Array[String]
float
void
:=
wird in=
umgewandelt