Creating script templates

O Godot fornece uma maneira de usar modelos de scripts, como visto em Script Create Dialog enquanto se cria um novo script:

../../_images/script_create_dialog_templates.png

Um conjunto de templates padrão para script já é providenciada, mas também é possível modificar as já existentes ou criar novas, tanto para o projeto quanto para o editor.

Locating the templates

Existem dois lugares onde as templates pode ser manipuladas.

Editor-defined templates

Essa estão disponíveis para todos os projetos. A localização dessas templates é determinada por cada SO(Sistema Operacional) em particular:

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

Se nenhuma "script_tamplates" for detectada, o Godot irá criar um conjunto de templates automaticamente, essa mesma lógica pode ser usada para reverter as templates ao estado original, caso você acidentalmente tenha cometido algum erro.

Project-defined templates

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.

Se nenhum diretório para ``script_templates``for encontrado no projeto, então é simplesmente ignorado.

Suporte para línguas e mudaça de funcionalidades

Dependendo de como uma linguagem em particular implementa a geração de scripts a partir de templates, é possível criar uma template que possa ser reconhecida por essa linguagem de acordo com a extensão do arquivo template. Para o Gdscript e o C#, as extensões devem ser gd e cs respectivamente.

Nota

As templates para script têm a mesma extensão que arquivos de script normais. Isso pode levar o analizador a tratar esse arquivos templates como scripts. Para evitar isso, tenha certeza de criar um arquivo chamado .gdignore dentro da pasta que contém as templates. Essa pasta não será mais visível através do sistema de arquivos do projeto; as templates ainda podem ser modificadas por qualquer editor de texto externo.

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

Default template

A template "Padrão" sempre é gerada dinamicamente para cada linguagem e não pode ser configurada ou modificada, mas você pode usá-la como base para criar outras 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)
//  {
//
//  }
}

List of template placeholders

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

Base placeholders

Placeholder Descrição
%CLASS% O nome da nova classe (usado apenas em C#).
%BASE% O tipo básico de onde um novo script herda.
%TS% Marcador de indentação. O tipo exato e quantidade de espaços em branco usados para a indentação é determinado pelas propriedades text_editor/indent/type e text_editor/indent/size respectivamente, veja EditorSettings.

Type placeholders

Essa só são relevantes para o Gdscript com tipo estático. Se os marcadores serão realmente substituido, ou não, é determinado pela propriedade text_editor/completion/add_type_hints na EditorSettings.

Placeholder Valor
%INT_TYPE% : int
%STRING_TYPE% : String
%FLOAT_TYPE% : float
%VOID_RETURN% -> void