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...
Creazione di modelli di script
Godot fornisce un modo per utilizzare i modelli di script come mostrato nella Finestra di dialogo Crea uno script durante la creazione di un nuovo script:
Un insieme di modelli di script integrati viene fornito con l'editor, ma è anche possibile crearne di nuovi e impostarli come predefiniti, sia per il singolo progetto sia per tutto l'editor.
I modelli sono collegati a un tipo di nodo specifico, quindi alla creazione uno script appariranno solo i modelli corrispondenti a quel particolare nodo o a uno dei suoi tipi padre. Ad esempio, se si sta creando uno script per un CharacterBody3D, appariranno solo i modelli definiti per CharacterBody3D, Node3D o Node.
Individuazione dei modelli
Esistono due posti in cui è possibile gestire i modelli.
Modelli definiti per l'editor
Questi sono disponibili globalmente per qualsiasi progetto. La posizione di questi modelli è determinata per ciascun sistema operativo:
Windows:
%APPDATA%\Godot\script_templates\Linux:
$HOME/.config/godot/script_templates/macOS:
$HOME/Library/Application Support/Godot/script_templates/
Se si sta scaricando Godot da un sito diverso dal sito ufficiale, come Steam, la cartella potrebbe trovarsi in una posizione diversa. È possibile trovarla grazie all'editor di Godot. Andare su Editor > Apri cartella dati/impostazioni editor e si aprirà una cartella nel file browser, al cui interno si trova la cartella script_templates.
Modelli definiti per il progetto
Il percorso predefinito per la ricerca dei modelli è la cartella res://script_templates/. È possibile cambiare il percorso configurando l'impostazione del progetto Editor > Script > Percorso di ricerca dei modelli, sia tramite codice sia tramite l'editor.
Se nessuna cartella script_templates viene trovata all'interno di un progetto, è ignorata.
Organizzazione e denominazione dei modelli
I modelli definiti sia dall'editor sia dal progetto sono organizzati nel modo seguente:
template_path/node_type/file.extension
dove:
template_pathè una delle 2 posizioni discusse nelle due sezioni precedenti.node_typeè il nodo a cui verrà applicato (ad esempio, Node, o CharacterBody3D). Questo distingue tra maiuscole e minuscole. Se uno script non si trova nella cartellanode_typecorretta, non sarà rilevato.fileè il nome personalizzato che si può scegliere per il modello (ad esempio,platformer_movementosmooth_camera).extensionindica a quale linguaggio verrà applicato il modello (dovrebbe esseregdper GDScript ocsper C#).
Per esempio:
script_templates/Node/smooth_camera.gdscript_templates/CharacterBody3D/platformer_movement.gd
Comportamento predefinito e sovrascriverlo
Come predefinito:
il nome del modello è lo stesso del nome del file (meno l'estensione, abbellito)
la descrizione è vuota
L'indentazione degli spazi è impostata su 4
il modello non sarà impostato come predefinito per il nodo specificato
È possibile personalizzare questo comportamento aggiungendo meta-intestazioni all'inizio del file, così:
# 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 questo caso, il nome sarà impostato su "Platformer movement", con la descrizione personalizzata fornita, e sarà impostato come modello predefinito per il nodo nella cui cartella è stato salvato.
Questo è un esempio di utilizzo di modelli personalizzati a livello di editor e di progetto:
Nota
I modelli di script hanno la stessa estensione dei normali file di script. Questo potrebbe portare a un problema con l'analisi degli script, che potrebbe interpretare tali modelli come script veri e propri dentro un progetto. Per evitarlo, assicurarsi di ignorare la cartella che li contiene creando un file .gdignore vuoto. La cartella non sarà più visibile nel filesystem del progetto, ma i modelli si potranno modificare sempre da un editor di testo esterno.
Suggerimento
Per impostazione predefinita, tutti i file C# all'interno della cartella del progetto sono inclusi nella compilazione. I modelli di script si devono escludere manualmente dal progetto C# per evitare errori di compilazione. Consultare la sezione Exclude files from the build nella documentazione di Microsoft.
È possibile creare modelli a livello di editor che hanno lo stesso livello dei modelli specifici del progetto e anche lo stesso nome di uno integrato; tutti questi modelli appariranno nella finestra di dialogo di un nuovo script.
Modello predefinito
Per sovrascrivere il modello predefinito, creare un modello personalizzato a livello di editor o di progetto all'interno di una cartella Node (o un tipo più specifico, se si desidera sovrascrivere solo un sottotipo) e cominciare il file con l'intestazione meta-default: true.
È possibile impostare come predefinito un solo modello alla volta per lo stesso tipo di nodo.
Di seguito sono mostrati i modelli Default per i nodi basilari, sia per GDScript sia per C#, in modo da poterli utilizzare come base per creare altri modelli:
# 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)
{
}
}
L'editor Godot fornisce una serie di utili modelli integrati specifici a certi nodi, come basic_movement per CharacterBody2D e CharacterBody3D e plugin per EditorPlugin.
Elenco dei segnaposto di modelli
Di seguito è descritto l'elenco completo dei segnaposto dei modelli integrati attualmente implementati.
Segnaposto di base
Segnaposto |
Descrizione |
|---|---|
|
Il nome dello spazio dei nomi di Godot (utilizzato solo in C#). |
|
Il nome della nuova classe. |
|
Il nome della nuova classe in |
|
Il tipo di base da cui eredita un nuovo script. |
|
Segnaposto per l'indentazione. Il tipo e il numero esatti di spazi vuoti utilizzati per l'indentazione sono determinati dalle impostazioni |
Segnaposto di tipo
In Godot 3.x erano presenti dei segnaposto per i suggerimenti di tipo di GDScript che venivano sostituiti ogni volta che si utilizza un modello per creare un nuovo script, come: %INT_TYPE%, %STRING_TYPE%, %FLOAT_TYPE% o %VOID_RETURN%.
I segnaposto non funzionano più per Godot 4.x, ma se l'impostazione text_editor/completion/add_type_hints da EditorSettings è disabilitata, i suggerimenti sui tipi per i parametri e i tipi restituiti verranno rimossi automaticamente per alcuni tipi di base:
intStringArray[String]floatvoid:=sarà trasformato in=