Erstellen von Skript-Vorlagen

Godot bietet eine Möglichkeit Skriptvorlagen zu verwenden, wie im Skript erstellen Dialog beim Erstellen eines neuen Skripts dargestellt:

../../_images/script_create_dialog_templates.png

Standardmäßig wird eine Reihe von Standard-Skriptvorlagen bereitgestellt. Es ist jedoch auch möglich vorhandene zu ändern und neue zu erstellen, sowohl pro Projekt als auch im Editor.

Die Vorlagen finden

Es gibt zwei Stellen, an denen Vorlagen verwaltet werden können.

Editor-Vorlagen

Diese sind weltweit in jedem Projekt verfügbar. Der Speicherort dieser Vorlagen wird für jedes Betriebssystem festgelegt:

  • Windows: %APPDATA%\Godot\script_templates\
  • Linux: $HOME/.local/share/godot/script_templates/
  • MacOS: $HOME/Library/Application Support/Godot/script_templates/

Wenn keine script_templates erkannt werden, erstellt Godot automatisch einen Standardsatz integrierter Vorlagen, sodass diese Logik verwendet werden kann um die Standardvorlagen zurückzusetzen, falls Sie sie versehentlich überschrieben haben.

Projekt-Vorlagen

The default path to search for templates is the res://script_templates/ directory. The path can be changed by configuring the editor/script_templates_search_path setting in the ProjectSettings, both via code and the editor.

Wenn in einem Projekt kein script_templates-Verzeichnis gefunden wird, wird es einfach ignoriert.

Sprachunterstützung und überschreiben von Verhalten

Abhängig davon ob eine bestimmte Sprache eine Möglichkeit zum Generieren von Skripten aus Vorlagen implementiert, ist es möglich eine Vorlage zu erstellen, die von dieser Sprache anhand der Dateierweiterung der Vorlage erkannt werden kann. Für GDScript und C# müssen die Erweiterungen gd bzw. cs sein.

Bemerkung

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 a .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.

The built-in editor templates are automatically shadowed by the project-specific templates given both scripts have the same filename.

Standard-Vorlagen

The Default template is always generated dynamically per language and cannot be configured nor overridden, but you can use these as the base for creating other templates.

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
using Godot;
using System;

public class %CLASS% : %BASE%
{
    // Declare member variables here. Examples:
    // private int a = 2;
    // private string b = "text";

    // 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(float delta)
//  {
//
//  }
}

Liste von Vorlagen-Platzhaltern

The following describes the complete list of built-in template placeholders which are currently implemented.

Basis-Platzhalter

Platzhalter Beschreibung
%CLASS% Der Name der neuen Klasse (wird nur in C# verwendet).
%BASE% Der Basistyp, von dem ein neues Skript erbt.
%TS% Indentation placeholder. The exact type and number of whitespace characters used for indentation is determined by the text_editor/indent/type and text_editor/indent/size settings in the EditorSettings respectively.

Typ-Platzhalter

These are only relevant for GDScript with static typing. Whether these placeholders are actually replaced is determined by the text_editor/completion/add_type_hints setting in the EditorSettings.

Platzhalter Wert
%INT_TYPE% : int
%STRING_TYPE% : String
%FLOAT_TYPE% : float
%VOID_RETURN% -> void