Creando plantillas de scripts

Godot provee un modo de usar plantillas de scripts como puede verse en el Diálogo Añadir Script mientras se crea un nuevo script:

../../_images/script_create_dialog_templates.png

Se provee una lista de plantilas por defecto, pero es posible modificar las existentes y crear nuevas, tanto por proyecto como para el editor.

Localizando las plantillas

Hay dos lugares donde las plantillas pueden ser colocadas.

Plantillas definidas en el editor

Esas están disponibles globalmente para cualquier proyecto. La ubicación de esas plantillas está determinada por cada SO:

  • Windows: %APPDATA%\Godot\script_templates\

  • Linux: $HOME/.config/godot/script_templates/

  • macOS: $HOME/Library/Application Support/Godot/script_templates/

Si no se detecta script_templates, Godot creará un conjunto de templates integrados automáticamente, así que esta lógica puede usarse para resetear los templates por defecto en caso de que los hayas sobreescrito accidentalmente.

Plantillas definidas en el proyecto

La ruta por defecto para las plantillas es la carpeta res://script_templates/. La ruta se puede cambiar configurando editor/script_templates_search_path en ProjectSettings, tanto desde código como desde el editor.

Si no se encuentra la carpeta script_templates en un proyecto, esta es ignorada.

Soporte de lenguajes y comportamiento de sobreescritura

Dependiendo de si un lenguaje en particular implementa un modo de generar scripts desde plantillas, es posible crear una plantilla que pueda ser reconocida por ese lenguaje de acuerdo a la extensión del archivo de plantilla. Para GDScript y C#, las extensiones deben ser gd y cs respectivamente.

Nota

Las plantillas de script tienen la misma extensión que los archivos de script regulares. Esto puede provocar un problema en el que un analizador de scripts trate esas plantillas como scripts reales dentro de un proyecto. Para evitar esto, asegúrate de ignorar el directorio que las contiene creando un archivo .gdignore vacío. El directorio ya no será visible en el sistema de archivos del proyecto, pero las plantillas aún podrán ser modificadas por un editor de texto externo en cualquier momento.

Las plantillas incluidas en el editor son reemplazadas automáticamente por las plantillas específicas del proyecto si ambos scripts tienen el mismo nombre de archivo.

Plantilla por defecto

La plantilla ``Predeterminado``siempre es generada dinámicamente por lenguaje y no puede ser configurada ni sobreescrita, pero puedes usarlas como base para la creación de otras plantillas.

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

Lista de plantillas placeholder

Lo siguiente describe la lista completa de placeholders de plantillas integradas que están actualmente implementados.

Placeholders base

Parámetros

Descripción

%CLASS%

El nombre de la nueva clase (usado solamente en C#).

%BASE%

El tipo base del que el nuevo script hereda.

%TS%

Placeholder de sangría. El tipo exacto y número de espacios usados para indentación es determinado por las configuraciones de text_editor/indent/type y text_editor/indent/size en EditorSettings respectivamente.

Placeholders de tipo

Esos son sólo relevantes en GDScript con tipado estático. Dónde son reemplazados esos placeholders es determinado por la configuración de ``text_editor/completion/add_type_hints``en EditorSettings.

Parámetros

Valor

%INT_TYPE%

: int

%STRING_TYPE%

: String

%FLOAT_TYPE%

: float

%VOID_RETURN%

-> void