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...
Commenti di documentazione in GDScript
In GDScript, i commenti possono servire per documentare il codice e aggiungere descrizioni ai membri di uno script. Esistono due differenze tra un commento normale e un commento di documentazione. Prima di tutto, un commento di documentazione deve iniziare con due simboli cancelletto ##. Inoltre, deve precedere immediatamente un membro dello script o, per le descrizioni di script, essere posizionato in cima allo script. Se una variabile esportata è documentata, la sua descrizione è utilizzata come suggerimento nell'editor. Questa documentazione si può generare come file XML dall'editor.
Documentare uno script
I commenti che documentano uno script devono precedere qualsiasi documentazione relativa ai suoi membri. Il formato suggerito per la documentazione di uno script può essere suddiviso in tre parti.
Una breve descrizione dello script.
Una descrizione dettagliata.
Tutorial e note di deprecazione/esperimentale.
Per separarli, i commenti di documentazione utilizzano tag speciali. Il tag deve trovarsi all'inizio di una riga (ignorando gli spazi vuoti precedenti) e deve avere il formato @, seguito dalla parola chiave.
Documentare i membri di script
Membri idonei per la documentazione:
Segnale
Enumerazione
Valore di enumerazione
Costante
Variabile
Funzione
Classe interna
La documentazione di un membro di uno script deve precedere immediatamente il membro stesso o le sue annotazioni, se presenti. La descrizione può essere composta da più righe, ma ogni riga deve cominciare con il doppio simbolo cancelletto ## per essere considerata parte della documentazione.
Tag
Descrizione |
Nessun tag. |
Deprecato |
@deprecated@deprecated: Usa invece [member altro]. |
Sperimentale |
@experimental@experimental: Questo metodo è incompleto. |
Per esempio:
## The description of the variable.
## @deprecated: Use [member other_var] instead.
var my_var
In alternativa, è possibile scrivere la documentazione sulla stessa riga:
signal my_signal ## My signal.
enum MyEnum { ## My enum.
VALUE_A = 0, ## Value A.
VALUE_B = 1, ## Value B.
}
const MY_CONST = 1 ## My constant.
var my_var ## My variable.
func my_func(): ## My func.
pass
class MyClass: ## My class.
pass
La documentazione dello script verrà aggiornata nella finestra di aiuto dell'editor ogni volta che lo script viene aggiornato. Se il nome di una variabile membro o di una funzione inizia con un trattino basso, sarà considerato privato. Non apparirà nella documentazione e sarà ignorato nella finestra di aiuto.
Esempio completo per uno script
extends Node2D
## A brief description of the class's role and functionality.
##
## The description of the script, what it can do,
## and any further detail.
##
## @tutorial: https://example.com/tutorial_1
## @tutorial(Tutorial 2): https://example.com/tutorial_2
## @experimental
## The description of a signal.
signal my_signal
## This is a description of the below enum.
enum Direction {
## Direction up.
UP = 0,
## Direction down.
DOWN = 1,
## Direction left.
LEFT = 2,
## Direction right.
RIGHT = 3,
}
## The description of a constant.
const GRAVITY = 9.8
## The description of the variable v1.
var v1
## This is a multiline description of the variable v2.[br]
## The type information below will be extracted for the documentation.
var v2: int
## If the member has any annotation, the annotation should
## immediately precede it.
@export
var v3 := some_func()
## As the following function is documented, even though its name starts with
## an underscore, it will appear in the help window.
func _fn(p1: int, p2: String) -> int:
return 0
# The below function isn't documented and its name starts with an underscore
# so it will treated as private and will not be shown in the help window.
func _internal() -> void:
pass
## Documenting an inner class.
##
## The same rules apply here. The documentation must
## immediately precede the class definition.
##
## @tutorial: https://example.com/tutorial
## @experimental
class Inner:
## Inner class variable v4.
var v4
## Inner class function fn.
func fn(): pass
BBCode e riferimento di classe
Il riferimento classi di Godot supporta tag simili a BBCode. Aggiungono un'elegante formattazione al testo, la quale si potrebbe utilizzare anche nella documentazione. Consultare anche bbcode per il riferimento classi bbcode. Si noti che è leggermente diverso dal BBCode di RichTextLabel .
Ogni volta che si crea un collegamento a un membro di un'altra classe, è necessario specificarne il nome. Per i collegamenti alla stessa classe, il nome della classe è facoltativo e può essere omesso.
Ecco l'elenco di tag disponibili:
Tag e descrizione |
Esempio |
Risultato |
|---|---|---|
[Class]Collega a una classe
|
|
Sposta lo Sprite2D. |
[annotation Class.name]Collega a un'annotazione
|
|
Vedi @GDScript.@rpc. |
[constant Class.name]Collega a una costante
|
|
Vedi Color.RED. |
[enum Class.name]Collega a un'enumerazione
|
|
Vedi Mesh.ArrayType. |
[member Class.name]Collega a un membro (proprietà)
|
|
Ottieni Node2D.scale. |
[method Class.name]Collega a un metodo
|
|
Chiama Node3D.hide(). |
[constructor Class.name]Collega a un costruttore integrato
|
|
Usa Color.Color. |
[operator Class.name]Collega a un operatore integrato
|
|
Usa Color.operator *. |
[signal Class.name]Collega a un segnale
|
|
Emetti Node.renamed. |
[theme_item Class.name]Collega a un elemento del tema
|
|
Vedi Label.font. |
[param name]Nome di parametro (come codice)
|
|
Accetta |
[br]Interruzione di riga
|
Riga 1.[br]Riga 2. |
Riga 1.
Riga 2.
|
[lb] [rb][ e ] rispettivamente |
|
[b]testo[/b] |
[b] [/b]Grassetto
|
|
Non chiamare questo metodo. |
[i] [/i]Corsivo
|
|
Restituisce la posizione globale. |
[u] [/u]Sottolinea
|
|
Always use this method. |
[s] [/s]Barrato
|
|
|
[color] [/color]Colore
|
|
Error! |
[font] [/font]Font
|
|
LICENSE |
[img] [/img]Immagine
|
|
|
[url] [/url]Collegamento ipertestuale
|
[url]https://example.com[/url][url=https://example.com]Website[/url] |
|
[center] [/center]Centratura orizzontale
|
|
|
[kbd] [/kbd]Scorciatoia da tastiera/mouse
|
|
Premi Ctrl + C. |
[code] [/code]Frammento di codice in riga
|
|
Restituisce |
[codeblock][/codeblock]Blocco di codice su più righe
|
Vedere sotto. |
Vedere sotto. |
Nota
Attualmente solo @GDScript contiene annotazioni.
[kbd]disattiva il BBCode finché il parser non incontra[/kbd].[code]disattiva il BBCode finché il parser non incontra[/code].[codeblock]disattiva il BBCode finché il parser non incontra[/codeblock].
Avvertimento
Utilizzare [codeblock] per i blocchi di codice preformattati. Dentro [codeblock], usare sempre quattro spazi per l'indentazione (Il parser eliminerà le tabulazioni).
## Do something for this plugin. Before using the method
## you first have to [method initialize] [MyPlugin].[br]
## [color=yellow]Warning:[/color] Always [method clean] after use.[br]
## Usage:
## [codeblock]
## func _ready():
## the_plugin.initialize()
## the_plugin.do_something()
## the_plugin.clean()
## [/codeblock]
func do_something():
pass
Normalmente, [codeblock] evidenzia la sintassi in GDScript. È possibile cambiarla tramite l'attributo lang. Le opzioni attualmente supportate sono:
[codeblock lang=text]disabilita l'evidenziazione della sintassi;[codeblock lang=gdscript]evidenzia la sintassi in GDScript;[codeblock lang=csharp]evidenzia la sintassi in C# (solamente nella versione .NET).