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...
GDScript Dokumentations-Kommentare
In GDScript können Kommentare verwendet werden, um Ihren Code zu dokumentieren und Beschreibungen zu den Membern eines Skripts hinzuzufügen. Es gibt zwei Unterschiede zwischen einem normalen Kommentar und einem Dokumentationskommentar. Erstens sollte ein Dokumentationskommentar mit doppelten Rautezeichen ## beginnen. Zweitens muss er unmittelbar vor einem Member des Skripts stehen bzw. bei Skriptbeschreibungen am Anfang des Skripts platziert werden. Wenn eine exportierte Variable dokumentiert ist, wird ihre Beschreibung als Tooltip im Editor verwendet. Diese Dokumentation kann vom Editor als XML-Datei erzeugt werden.
Dokumentieren eines Skripts
Kommentare, die ein Skript dokumentieren, müssen vor jeder Member-Dokumentation stehen. Ein empfohlenes Format für die Skriptdokumentation kann in drei Teile unterteilt werden.
Eine kurze Beschreibung des Skripts.
Detaillierte Beschreibung.
Tutorials und Kennzeichnungen für veralteten/experimentellen Code.
Um diese voneinander zu trennen, verwenden die Dokumentationskommentare spezielle Tags. Die Markierung muss am Anfang einer Zeile stehen (vorangehende Leerzeichen werden ignoriert) und das Format @ haben, gefolgt von dem Schlüsselwort.
Dokumentieren von Skript-Membern
Member, die für die Dokumentation in Frage kommen:
Signal
Enum
Enum-Wert
Konstante
Variable
Funktion
Innere Klasse
Die Dokumentation eines Skript-Members muss unmittelbar vor dem Member oder seinen Annotationen stehen, falls es welche hat. Die Beschreibung kann mehr als eine Zeile haben, aber jede Zeile muss mit dem doppelten Rautezeichen ## beginnen, um als Teil der Dokumentation zu gelten.
Tags
Beschreibung |
Kein Tag. |
Veraltet |
@deprecated@deprecated: Verwenden Sie stattdessen [member another]. |
Experimentell |
@experimental@experimental: Diese Methode ist unvollständig. |
Zum Beispiel:
## The description of the variable.
## @deprecated: Use [member other_var] instead.
var my_var
Alternatively, you can use inline documentation comments:
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
Die Skriptdokumentation wird bei jeder Aktualisierung des Skripts im Hilfefenster des Editors aktualisiert. Wenn eine Member-Variable oder ein Funktionsname mit einem Unterstrich beginnt, wird sie als privat behandelt. Er erscheint nicht in der Dokumentation und wird im Hilfefenster ignoriert.
Vollständiges Skript-Beispiel
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 und Klassenreferenz
Die Klassenreferenz von Godot unterstützt BBCode-ähnliche Tags. Sie fügen dem Text eine schöne Formatierung hinzu, die auch in der Dokumentation verwendet werden kann. Siehe auch Klassenreferenz-bbcode. Beachten Sie, dass dies ein kleiner Unterschied zum RichTextLabel BBCode ist.
Wenn Sie auf einen Member einer anderen Klasse verweisen, müssen Sie den Klassennamen angeben. Bei Verweisen auf dieselbe Klasse ist der Klassenname optional und kann weggelassen werden.
Hier ist die Liste der verfügbaren Tags:
Tag und Beschreibung |
Beispiel |
Ergebnis |
|---|---|---|
[Class]Link zur Klasse
|
|
Move the Sprite2D. |
[annotation Class.name]Link zur Annotation
|
|
See @GDScript.@rpc. |
[constant Class.name]Link zur Konstante
|
|
Siehe Color.RED. |
[enum Class.name]Link zum Enum
|
|
See Mesh.ArrayType. |
[member Class.name]Link zum Member (Property)
|
|
Get Node2D.scale. |
[method Class.name]Link zur Methode
|
|
Call Node3D.hide(). |
[constructor Class.name]Link zum Built-in-Konstruktor
|
|
Verwenden Sie Color.Color. |
[operator Class.name]Link zum Built-in-Operator
|
|
Verwenden Sie Color.operator *. |
[signal Class.name]Link zum Signal
|
|
Emit Node.renamed. |
[theme_item Class.name]Link zum Theme-Element
|
|
See Label.font. |
[param name]Parameter-Name (als Code)
|
|
Takes |
[br]Zeilenumbruch
|
Line 1.[br]Line 2. |
Line 1.
Line 2.
|
[lb] [rb][ bzw. ] |
|
[b]text[/b] |
[b] [/b]Fett
|
|
Rufen Sie diese Methode nicht auf. |
[i] [/i]Kursiv
|
|
Gibt die globale Position zurück. |
[u] [/u]Unterstreichen
|
|
Always use this method. |
[s] [/s]Durchgestrichen
|
|
|
[color] [/color]Farbe
|
|
Error! |
[font] [/font]Schriftart
|
|
LICENSE |
[img] [/img]Bild
|
|
|
[url] [/url]Hyperlink
|
[url]https://example.com[/url][url=https://example.com]Website[/url] |
|
[center] [/center]Horizontale Zentrierung
|
|
|
[kbd] [/kbd]Tasten/Maus-Kürzel
|
|
Drücken Sie Strg + C. |
[code] [/code]Inline-Code-Fragment
|
|
Gibt |
[codeblock][/codeblock]Mehrzeiliger Codeblock
|
Siehe unten |
Siehe unten |
Bemerkung
Aktuell verfügt nur @GDScript über Annotationen.
[kbd]deaktiviert BBCode, bis der Parser auf[/kbd]trifft.[code]deaktiviert BBCode, bis der Parser auf[/code]trifft.[codeblock]deaktiviert BBCode, bis der Parser auf[/codeblock]trifft.
Warnung
Verwenden Sie [codeblock] für vorformatierte Codeblöcke. Verwenden Sie in [codeblock] immer vier Leerzeichen zum Einrücken (der Parser löscht Tabs).
## 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
Standardmäßig verwendet [codeblock] das GDScript-Syntax-Highlighting. Sie können dies mit dem Attribut lang ändern. Derzeit unterstützte Optionen sind:
[codeblock lang=text]deaktiviert das Syntax-Highlighting;[codeblock lang=text]verwendet GDScript-Syntax-Highlighting;[codeblock lang=csharp]verwendet C#-Syntax-Highlighting (nur in der .NET-Version).