mirror of
https://github.com/godotengine/godot-docs.git
synced 2026-01-08 10:10:54 +03:00
Update "GDScript documentation comments" page
This commit is contained in:
@@ -19,29 +19,31 @@ suggested format for script documentation can be divided into three parts.
|
||||
|
||||
- A brief description of the script.
|
||||
- Detailed description.
|
||||
- Tutorials.
|
||||
- Tutorials and deprecated/experimental marks.
|
||||
|
||||
To separate these from each other, the documentation comments use special tags.
|
||||
The tag must be at the beginning of a line (ignoring preceding white space) and must
|
||||
have the format ``@``, followed by the keyword, and finishing with a colon.
|
||||
The tag must be at the beginning of a line (ignoring preceding white space)
|
||||
and must have the format ``@``, followed by the keyword.
|
||||
|
||||
Tags
|
||||
~~~~
|
||||
|
||||
+-------------------+--------------------------------------------------------+
|
||||
| Brief description | No tag and lives at the very beginning of |
|
||||
| Brief description | No tag. Lives at the very beginning of |
|
||||
| | the documentation section. |
|
||||
+-------------------+--------------------------------------------------------+
|
||||
| Description | Use one blank line to separate the description from |
|
||||
| | the brief. |
|
||||
| Description | No tag. Use one blank line to separate the description |
|
||||
| | from the brief. |
|
||||
+-------------------+--------------------------------------------------------+
|
||||
| Tutorial | | ``@tutorial:`` |
|
||||
| | | ``@tutorial(The Title Here):`` |
|
||||
+-------------------+--------------------------------------------------------+
|
||||
| Deprecated | ``@deprecated`` |
|
||||
+-------------------+--------------------------------------------------------+
|
||||
| Experimental | ``@experimental`` |
|
||||
+-------------------+--------------------------------------------------------+
|
||||
|
||||
For example:
|
||||
|
||||
::
|
||||
For example::
|
||||
|
||||
extends Node2D
|
||||
## A brief description of the class's role and functionality.
|
||||
@@ -51,6 +53,7 @@ For example:
|
||||
##
|
||||
## @tutorial: https://the/tutorial1/url.com
|
||||
## @tutorial(Tutorial2): https://the/tutorial2/url.com
|
||||
## @experimental
|
||||
|
||||
.. warning::
|
||||
|
||||
@@ -66,16 +69,6 @@ For example:
|
||||
Documenting script members
|
||||
--------------------------
|
||||
|
||||
Documentation of a script member must immediately precede the member or its
|
||||
annotations if it has any. The exception to this is enum values whose description should
|
||||
be on the same line as the enum for readability.
|
||||
The description can have more than one line but every line must start
|
||||
with the double hash symbol ``##`` to be considered as part of the documentation.
|
||||
The script documentation will update in the editor help window every time the
|
||||
script is updated. If any member variable or function name starts with an
|
||||
underscore, it will be treated as private. It will not appear in the documentation and
|
||||
will be ignored in the help window.
|
||||
|
||||
Members that are applicable for documentation:
|
||||
|
||||
- Inner class
|
||||
@@ -86,8 +79,48 @@ Members that are applicable for documentation:
|
||||
- Enum
|
||||
- Enum value
|
||||
|
||||
Example
|
||||
-------
|
||||
Documentation of a script member must immediately precede the member or its annotations
|
||||
if it has any. The description can have more than one line but every line must start with
|
||||
the double hash symbol ``##`` to be considered as part of the documentation.
|
||||
|
||||
Tags
|
||||
~~~~
|
||||
|
||||
+--------------+-------------------+
|
||||
| Description | No tag. |
|
||||
+--------------+-------------------+
|
||||
| Deprecated | ``@deprecated`` |
|
||||
+--------------+-------------------+
|
||||
| Experimental | ``@experimental`` |
|
||||
+--------------+-------------------+
|
||||
|
||||
For example::
|
||||
|
||||
## The description of the variable.
|
||||
## @deprecated
|
||||
var my_var
|
||||
|
||||
Variables, constants, signals, and enum values support inline documentation comments.
|
||||
Note that inline comments do not support tags.
|
||||
|
||||
::
|
||||
|
||||
var my_var ## My variable.
|
||||
const MY_CONST = 1 ## My constant.
|
||||
signal my_signal ## My signal.
|
||||
enum Direction {
|
||||
UP = 0, ## Direction up.
|
||||
DOWN = 1, ## Direction down.
|
||||
LEFT = 2, ## Direction left.
|
||||
RIGHT = 3, ## Direction right.
|
||||
}
|
||||
|
||||
The script documentation will update in the editor help window every time the script is updated.
|
||||
If any member variable or function name starts with an underscore, it will be treated as private.
|
||||
It will not appear in the documentation and will be ignored in the help window.
|
||||
|
||||
Complete script example
|
||||
-----------------------
|
||||
|
||||
::
|
||||
|
||||
@@ -99,6 +132,7 @@ Example
|
||||
##
|
||||
## @tutorial: https://the/tutorial1/url.com
|
||||
## @tutorial(Tutorial2): https://the/tutorial2/url.com
|
||||
## @experimental
|
||||
|
||||
## The description of a constant.
|
||||
const GRAVITY = 9.8
|
||||
@@ -106,13 +140,16 @@ Example
|
||||
## The description of a signal.
|
||||
signal my_signal
|
||||
|
||||
## This is a description of the below enums. Note below that
|
||||
## the enum values are documented on the same line as the enum.
|
||||
## This is a description of the below enum.
|
||||
enum Direction {
|
||||
UP = 0, ## Direction up.
|
||||
DOWN = 1, ## Direction down.
|
||||
LEFT = 2, ## Direction left.
|
||||
RIGHT = 3, ## Direction right.
|
||||
## Direction up.
|
||||
UP = 0,
|
||||
## Direction down.
|
||||
DOWN = 1,
|
||||
## Direction left.
|
||||
LEFT = 2,
|
||||
## Direction right.
|
||||
RIGHT = 3,
|
||||
}
|
||||
|
||||
## The description of a constant.
|
||||
@@ -149,6 +186,7 @@ Example
|
||||
## immediately precede the class definition.
|
||||
##
|
||||
## @tutorial: https://the/tutorial/url.com
|
||||
## @experimental
|
||||
class Inner:
|
||||
|
||||
## Inner class variable v4.
|
||||
@@ -158,6 +196,24 @@ Example
|
||||
## Inner class function fn.
|
||||
func fn(): pass
|
||||
|
||||
``@deprecated`` and ``@experimental`` tags
|
||||
------------------------------------------
|
||||
|
||||
You can mark a class or any of its members as deprecated or experimental.
|
||||
This will add the corresponding indicator in the built-in documentation viewer.
|
||||
This can be especially useful for plugin and library creators.
|
||||
|
||||
.. image:: img/deprecated_and_experimental_marks.webp
|
||||
|
||||
- **Deprecated** marks a non-recommended API that is subject to removal or incompatible change
|
||||
in a future major release. Usually the API is kept for backwards compatibility.
|
||||
- **Experimental** marks a new unstable API that may be changed or removed in the current
|
||||
major branch. Using this API is not recommended in production code.
|
||||
|
||||
.. note::
|
||||
|
||||
While technically you can use both ``@deprecated`` and ``@experimental`` tags on the same
|
||||
class/member, this is not recommended as it is against common conventions.
|
||||
|
||||
BBCode and class reference
|
||||
--------------------------
|
||||
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 18 KiB |
Reference in New Issue
Block a user