Criando modelos de script

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 modelos de script já é fornecido por padrão, mas também é possível modificar os já existentes ou criar novos, tanto para o projeto quanto para o editor.

Localizando os modelos

Existem dois lugares onde os modelos pode ser manipulados.

Modelos definidos pelo editor

Estes estão disponíveis para todos os projetos. A localização destes modelos é determinada por cada SO em particular:

  • Windows: %APPDATA%\Godot\script_templates\

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

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

Se nenhum "script_templates" for detectado, o Godot irá criar um conjunto de modelos automaticamente, essa mesma lógica pode ser usada para reverter os modelos ao estado original, caso você acidentalmente tenha cometido algum erro.

Modelos definidos pelo projeto

O caminho padrão para buscar modelos é o diretório res://script_templates/. O caminho pode ser mudado configurando a opção editor/script_templates_search_path em ProjectSettings, tanto via código quanto pelo editor.

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

Suporte para idiomas e comportamento de sobreposição

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

Nota

Os modelos de script têm a mesma extensão que arquivos de script normais. Isso pode levar a um problema de um analisador de scripts que trata esses modelos como scripts. Para evitar isso, tenha certeza de criar um arquivo chamado .gdignore dentro da pasta que contém os modelos. Essa pasta não será mais visível através do sistema de arquivos do projeto; os modelos ainda podem ser modificados por qualquer editor de texto externo.

Os modelos de editor integrados são automaticamente ocultados pelos modelos específicos do projeto, dado que ambos os scripts têm o mesmo nome de arquivo.

Modelo padrão

O modelo Padrão sempre é gerado dinamicamente por linguagem e não pode ser configurado ou sobreposto, mas você pode usá-lo como base para criar outros modelos.

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

Lista de placeholders de modelo

O seguinte descreve a lista completa de placeholders de modelo integrados que estão embutidos atualmente.

Placeholders base

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%

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

Placeholders de tipo

Estes só são relevantes para o GDScript com tipo estático. Se os placeholders são realmente substituidos é determinado pela propriedade text_editor/completion/add_type_hints em EditorSettings.

Placeholder

Valor

%INT_TYPE%

: int

%STRING_TYPE%

: String

%FLOAT_TYPE%

: float

%VOID_RETURN%

-> void