Création de modèles de script

Godot fournit un moyen d’utiliser des modèles de script comme on le voit dans le Script Create Dialog lors de la création d’un nouveau script :

../../_images/script_create_dialog_templates.png

Un ensemble de modèles de script est fourni par défaut, mais il est également possible de modifier les modèles existants et d’en créer de nouveaux, tant par projet que par éditeur.

Localisation des modèles

Il existe deux endroits où les modèles peuvent être gérés.

Modèles définis par l’éditeur

Ils sont disponibles à travers tout les projets. L’emplacement de ces modèles est déterminé pour chaque OS :

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

Si aucun de ces modèles n’est trouvé, Godot recréera l’ensemble de modèles par défaut automatiquement, on peut utiliser ça pour réinitialiser l’état des modèles si vous les avez perdu par accident.

Modèles définis par le projet (templates)

Le chemin par défaut pour rechercher des modèles est le répertoire res://script_templates/. Le chemin peut être modifié en configurant le paramètre editor/script_templates_search_path dans le  ProjectSettings, à la fois par code et par l’éditeur.

Si aucun répertoire script_templates n’est trouvé dans un projet, il est simplement ignoré.

Prise en charge de langage et comportement de réécriture

Selon qu’un langage particulier met en œuvre une manière de générer des scripts à partir de modèles ou non, il est possible de créer un modèle qui puisse être reconnu par ce langage en fonction de l’extension de fichier du modèle. Pour le GDScript et le C#, les extensions doivent être respectivement gd et cs.

Note

Les modèles de script ont la même extension que les fichiers de script ordinaires. Cela peut conduire à un problème d’analyseur de script traitant ces modèles comme de véritables scripts au sein d’un projet. Pour éviter cela, veillez à ignorer le répertoire qui les contient en créant un fichier .gdignore. Le répertoire ne sera plus visible dans le système de fichiers du projet, mais les modèles peuvent être modifiés à tout moment par un éditeur de texte externe.

Les modèles d’éditeur intégrés sont automatiquement remplacés par les modèles spécifiques au projet, étant donné que les deux scripts ont le même nom de fichier.

Modèle par défaut

Le modèle Default est toujours généré dynamiquement par langage et ne peut être ni configuré ni remplacé, mais vous pouvez les utiliser comme base pour créer d’autres modèles.

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 des modèles d’espaces réservés

Voici la liste complète des modèles d’espaces réservés intégrés qui sont actuellement implémenté.

Espaces réservés de base

Chaîne substituable Description
%CLASS% Le nom de la nouvelle classe (uniquement utilisé en C#).
%BASE% Le type de base dont hérite un nouveau script.
%TS% Emplacement réservé d’indentation. Le type et le nombre exact de caractères d’espacement utilisés pour l’indentation sont déterminés respectivement par les paramètres text_editor/indent/type et text_editor/indent/size dans les paramètres EditorSettings.

Type d’espaces réservés

Elles ne sont pertinentes que pour le GDScript avec typage statique. Le fait que ces espaces réservés soient effectivement remplacés est déterminé par le paramètre text_editor/completion/add_type_hints dans EditorSettings.

Chaîne substituable Valeur
%INT_TYPE% : int
%STRING_TYPE% : String
%FLOAT_TYPE% : float
%VOID_RETURN% -> void