2017-09-12 17:42:36 -03:00
<?xml version="1.0" encoding="UTF-8" ?>
2026-01-11 21:16:30 +03:00
<class name= "ScriptEditor" inherits= "PanelContainer" api_type= "editor" xmlns:xsi= "http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation= "../class.xsd" >
2017-09-12 17:42:36 -03:00
<brief_description >
2020-03-03 19:21:21 +01:00
Godot editor's script editor.
2017-09-12 17:42:36 -03:00
</brief_description>
<description >
2023-04-30 16:26:09 +02:00
Godot editor's script editor.
2020-04-14 22:09:21 +02:00
[b]Note:[/b] This class shouldn't be instantiated directly. Instead, access the singleton using [method EditorInterface.get_script_editor].
2017-09-12 17:42:36 -03:00
</description>
<tutorials >
</tutorials>
<methods >
2025-06-22 12:24:43 -04:00
<method name= "clear_docs_from_script" >
<return type= "void" />
<param index= "0" name= "script" type= "Script" />
<description >
Removes the documentation for the given [param script].
[b]Note:[/b] This should be called whenever the script is changed to keep the open documentation state up to date.
</description>
</method>
2026-03-18 09:49:30 -07:00
<method name= "close_file" >
<return type= "int" enum= "Error" />
<param index= "0" name= "path" type= "String" />
<description >
Closes the file at the given [param path], discarding any unsaved changes.
Returns [constant OK] on success or [constant ERR_FILE_NOT_FOUND] if the file is not found.
</description>
</method>
2024-04-17 10:44:44 +03:00
<method name= "get_breakpoints" >
<return type= "PackedStringArray" />
<description >
Returns array of breakpoints.
</description>
</method>
2020-07-15 08:43:21 +02:00
<method name= "get_current_editor" qualifiers= "const" >
2021-07-30 15:28:05 +02:00
<return type= "ScriptEditorBase" />
2020-07-15 08:43:21 +02:00
<description >
2020-10-11 17:07:33 +01:00
Returns the [ScriptEditorBase] object that the user is currently editing.
2020-07-15 08:43:21 +02:00
</description>
</method>
2017-09-12 17:42:36 -03:00
<method name= "get_current_script" >
2021-07-30 15:28:05 +02:00
<return type= "Script" />
2017-09-12 17:42:36 -03:00
<description >
Returns a [Script] that is currently active in editor.
</description>
</method>
2020-07-15 08:43:21 +02:00
<method name= "get_open_script_editors" qualifiers= "const" >
2022-08-05 20:35:08 +02:00
<return type= "ScriptEditorBase[]" />
2020-07-15 08:43:21 +02:00
<description >
2020-10-11 17:07:33 +01:00
Returns an array with all [ScriptEditorBase] objects which are currently open in editor.
2020-07-15 08:43:21 +02:00
</description>
</method>
2017-09-12 17:42:36 -03:00
<method name= "get_open_scripts" qualifiers= "const" >
2022-08-05 20:35:08 +02:00
<return type= "Script[]" />
2017-09-12 17:42:36 -03:00
<description >
Returns an array with all [Script] objects which are currently open in editor.
</description>
</method>
2026-03-18 09:25:26 -07:00
<method name= "get_unsaved_files" qualifiers= "const" >
<return type= "PackedStringArray" />
<description >
Returns an array of file paths of scripts with unsaved changes open in the editor.
</description>
</method>
2024-04-03 22:28:54 -04:00
<method name= "goto_help" >
<return type= "void" />
<param index= "0" name= "topic" type= "String" />
<description >
Opens help for the given topic. The [param topic] is an encoded string that controls which class, method, constant, signal, annotation, property, or theme item should be focused.
The supported [param topic] formats include [code]class_name:class[/code], [code]class_method:class:method[/code], [code]class_constant:class:constant[/code], [code]class_signal:class:signal[/code], [code]class_annotation:class:@annotation[/code], [code]class_property:class:property[/code], and [code]class_theme_item:class:item[/code], where [code]class[/code] is the class name, [code]method[/code] is the method name, [code]constant[/code] is the constant name, [code]signal[/code] is the signal name, [code]annotation[/code] is the annotation name, [code]property[/code] is the property name, and [code]item[/code] is the theme item.
[codeblock]
# Shows help for the Node class.
class_name:Node
# Shows help for the global min function.
# Global objects are accessible in the `@GlobalScope` namespace, shown here.
class_method:@GlobalScope:min
# Shows help for get_viewport in the Node class.
class_method:Node:get_viewport
# Shows help for the Input constant MOUSE_BUTTON_MIDDLE.
class_constant:Input:MOUSE_BUTTON_MIDDLE
# Shows help for the BaseButton signal pressed.
class_signal:BaseButton:pressed
# Shows help for the CanvasItem property visible.
class_property:CanvasItem:visible
# Shows help for the GDScript annotation export.
# Annotations should be prefixed with the `@` symbol in the descriptor, as shown here.
class_annotation:@GDScript:@export
# Shows help for the GraphNode theme item named panel_selected.
class_theme_item:GraphNode:panel_selected
[/codeblock]
</description>
</method>
2019-04-09 22:07:13 +02:00
<method name= "goto_line" >
2021-07-30 15:28:05 +02:00
<return type= "void" />
2022-08-06 21:11:48 +03:00
<param index= "0" name= "line_number" type= "int" />
2019-04-09 22:07:13 +02:00
<description >
Goes to the specified line in the current script.
</description>
</method>
2017-12-16 20:34:16 +01:00
<method name= "open_script_create_dialog" >
2021-07-30 15:28:05 +02:00
<return type= "void" />
2022-08-06 21:11:48 +03:00
<param index= "0" name= "base_name" type= "String" />
<param index= "1" name= "base_path" type= "String" />
2017-12-16 20:34:16 +01:00
<description >
2022-08-09 22:00:19 -04:00
Opens the script create dialog. The script will extend [param base_name]. The file extension can be omitted from [param base_path]. It will be added based on the selected scripting language.
2017-12-16 20:34:16 +01:00
</description>
</method>
2020-07-15 08:43:21 +02:00
<method name= "register_syntax_highlighter" >
2021-07-30 15:28:05 +02:00
<return type= "void" />
2022-08-06 21:11:48 +03:00
<param index= "0" name= "syntax_highlighter" type= "EditorSyntaxHighlighter" />
2020-07-15 08:43:21 +02:00
<description >
2020-10-11 17:07:33 +01:00
Registers the [EditorSyntaxHighlighter] to the editor, the [EditorSyntaxHighlighter] will be available on all open scripts.
[b]Note:[/b] Does not apply to scripts that are already opened.
2020-07-15 08:43:21 +02:00
</description>
</method>
2026-02-11 15:08:44 -08:00
<method name= "reload_open_files" >
<return type= "void" />
<description >
Reloads all currently opened files. This should be used when opened files are changed outside of the script editor. The user may be prompted to resolve file conflicts, see [member EditorSettings.text_editor/behavior/files/auto_reload_scripts_on_external_change].
</description>
</method>
2025-12-02 18:04:32 -08:00
<method name= "save_all_scripts" >
<return type= "void" />
<description >
Saves all open scripts.
</description>
</method>
2020-07-15 08:43:21 +02:00
<method name= "unregister_syntax_highlighter" >
2021-07-30 15:28:05 +02:00
<return type= "void" />
2022-08-06 21:11:48 +03:00
<param index= "0" name= "syntax_highlighter" type= "EditorSyntaxHighlighter" />
2020-07-15 08:43:21 +02:00
<description >
2020-10-11 17:07:33 +01:00
Unregisters the [EditorSyntaxHighlighter] from the editor.
[b]Note:[/b] The [EditorSyntaxHighlighter] will still be applied to scripts that are already opened.
2020-07-15 08:43:21 +02:00
</description>
</method>
2024-06-08 16:45:49 -04:00
<method name= "update_docs_from_script" >
<return type= "void" />
<param index= "0" name= "script" type= "Script" />
<description >
2025-06-22 12:24:43 -04:00
Updates the documentation for the given [param script].
2024-06-08 16:45:49 -04:00
[b]Note:[/b] This should be called whenever the script is changed to keep the open documentation state up to date.
</description>
</method>
2017-09-12 17:42:36 -03:00
</methods>
<signals >
<signal name= "editor_script_changed" >
2022-08-06 21:11:48 +03:00
<param index= "0" name= "script" type= "Script" />
2017-09-12 17:42:36 -03:00
<description >
Emitted when user changed active script. Argument is a freshly activated [Script].
</description>
</signal>
<signal name= "script_close" >
2022-08-06 21:11:48 +03:00
<param index= "0" name= "script" type= "Script" />
2017-09-12 17:42:36 -03:00
<description >
Emitted when editor is about to close the active script. Argument is a [Script] that is going to be closed.
</description>
</signal>
</signals>
</class>