CodeEdit
继承: TextEdit < Control < CanvasItem < Node < Object
A multiline text editor designed for editing code.
描述
CodeEdit is a specialized TextEdit designed for editing plain text code files. It has many features commonly found in code editors such as line numbers, line folding, code completion, indent management, and string/comment management.
Note: Regardless of locale, CodeEdit will by default always use left-to-right text direction to correctly display source code.
属性
方法
主题属性
信号
breakpoint_toggled ( line: int )
Emitted when a breakpoint is added or removed from a line. If the line is moved via backspace a removed is emitted at the old line.
code_completion_requested ( )
Emitted when the user requests code completion.
symbol_lookup ( symbol: String, line: int, column: int )
Emitted when the user has clicked on a valid symbol.
symbol_validate ( symbol: String )
Emitted when the user hovers over a symbol. The symbol should be validated and responded to, by calling set_symbol_lookup_word_as_valid.
枚举
enum CodeCompletionKind:
CodeCompletionKind KIND_CLASS = 0
Marks the option as a class.
CodeCompletionKind KIND_FUNCTION = 1
Marks the option as a function.
CodeCompletionKind KIND_SIGNAL = 2
Marks the option as a Godot signal.
CodeCompletionKind KIND_VARIABLE = 3
Marks the option as a variable.
CodeCompletionKind KIND_MEMBER = 4
Marks the option as a member.
CodeCompletionKind KIND_ENUM = 5
Marks the option as an enum entry.
CodeCompletionKind KIND_CONSTANT = 6
Marks the option as a constant.
CodeCompletionKind KIND_NODE_PATH = 7
Marks the option as a Godot node path.
CodeCompletionKind KIND_FILE_PATH = 8
Marks the option as a file path.
CodeCompletionKind KIND_PLAIN_TEXT = 9
Marks the option as unclassified or plain text.
enum CodeCompletionLocation:
CodeCompletionLocation LOCATION_LOCAL = 0
The option is local to the location of the code completion query - e.g. a local variable. Subsequent value of location represent options from the outer class, the exact value represent how far they are (in terms of inner classes).
CodeCompletionLocation LOCATION_PARENT_MASK = 256
The option is from the containing class or a parent class, relative to the location of the code completion query. Perform a bitwise OR with the class depth (e.g. 0 for the local class, 1 for the parent, 2 for the grandparent, etc.) to store the depth of an option in the class or a parent class.
CodeCompletionLocation LOCATION_OTHER_USER_CODE = 512
The option is from user code which is not local and not in a derived class (e.g. Autoload Singletons).
CodeCompletionLocation LOCATION_OTHER = 1024
The option is from other engine code, not covered by the other enum constants - e.g. built-in classes.
属性说明
bool auto_brace_completion_enabled = false
Sets whether brace pairs should be autocompleted.
bool auto_brace_completion_highlight_matching = false
voidset_highlight_matching_braces_enabled ( value:bool)boolis_highlight_matching_braces_enabled ( )
Highlight mismatching brace pairs.
Dictionary auto_brace_completion_pairs = { "\"": "\"", "'": "'", "(": ")", "[": "]", "{": "}" }
voidset_auto_brace_completion_pairs ( value:Dictionary)Dictionaryget_auto_brace_completion_pairs ( )
Sets the brace pairs to be autocompleted.
bool code_completion_enabled = false
Sets whether code completion is allowed.
Array String code_completion_prefixes = []
voidset_code_completion_prefixes ( value: ArrayString)- Array
Stringget_code_completion_prefixes ( )
Sets prefixes that will trigger code completion.
Array String delimiter_comments = []
Sets the comment delimiters. All existing comment delimiters will be removed.
Array String delimiter_strings = ["' '", "\" \""]
Sets the string delimiters. All existing string delimiters will be removed.
bool gutters_draw_bookmarks = false
Sets if bookmarked should be drawn in the gutter. This gutter is shared with breakpoints and executing lines.
bool gutters_draw_breakpoints_gutter = false
Sets if breakpoints should be drawn in the gutter. This gutter is shared with bookmarks and executing lines.
bool gutters_draw_executing_lines = false
Sets if executing lines should be marked in the gutter. This gutter is shared with breakpoints and bookmarks lines.
bool gutters_draw_fold_gutter = false
Sets if foldable lines icons should be drawn in the gutter.
bool gutters_draw_line_numbers = false
Sets if line numbers should be drawn in the gutter.
bool gutters_zero_pad_line_numbers = false
Sets if line numbers drawn in the gutter are zero padded.
bool indent_automatic = false
Sets whether automatic indent are enabled, this will add an extra indent if a prefix or brace is found.
Array String indent_automatic_prefixes = [":", "{", "[", "("]
Prefixes to trigger an automatic indent.
int indent_size = 4
Size of the tabulation indent (one Tab press) in characters. If indent_use_spaces is enabled the number of spaces to use.
bool indent_use_spaces = false
Use spaces instead of tabs for indentation.
bool line_folding = false
Sets whether line folding is allowed.
Array int line_length_guidelines = []
Draws vertical lines at the provided columns. The first entry is considered a main hard guideline and is draw more prominently.
bool symbol_lookup_on_click = false
Set when a validated word from symbol_validate is clicked, the symbol_lookup should be emitted.
方法说明
void _confirm_code_completion ( replace: bool ) virtual1
Override this method to define how the selected entry should be inserted. If replace is true, any existing text should be replaced.
Array Dictionary _filter_code_completion_candidates ( candidates: Array Dictionary ) virtual1 const2
Override this method to define what items in candidates should be displayed.
Both candidates and the return is a Array of Dictionary, see get_code_completion_option for Dictionary content.
void _request_code_completion ( force: bool ) virtual1
Override this method to define what happens when the user requests code completion. If force is true, any checks should be bypassed.
void add_auto_brace_completion_pair ( start_key: String, end_key: String )
Adds a brace pair.
Both the start and end keys must be symbols. Only the start key has to be unique.
void add_code_completion_option ( type: CodeCompletionKind, display_text: String, insert_text: String, text_color: Color = Color(1, 1, 1, 1), icon: Resource = null, value: Variant = null, location: int = 1024 )
Submits an item to the queue of potential candidates for the autocomplete menu. Call update_code_completion_options to update the list.
location indicates location of the option relative to the location of the code completion query. See CodeCompletionLocation for how to set this value.
Note: This list will replace all current candidates.
void add_comment_delimiter ( start_key: String, end_key: String, line_only: bool = false )
Adds a comment delimiter from start_key to end_key. Both keys should be symbols, and start_key must not be shared with other delimiters.
If line_only is true or end_key is an empty String, the region does not carry over to the next line.
void add_string_delimiter ( start_key: String, end_key: String, line_only: bool = false )
Defines a string delimiter from start_key to end_key. Both keys should be symbols, and start_key must not be shared with other delimiters.
If line_only is true or end_key is an empty String, the region does not carry over to the next line.
bool can_fold_line ( line: int ) const2
Returns if the given line is foldable, that is, it has indented lines right below it or a comment / string block.
void cancel_code_completion ( )
Cancels the autocomplete menu.
void clear_bookmarked_lines ( )
Clears all bookmarked lines.
void clear_breakpointed_lines ( )
Clears all breakpointed lines.
void clear_comment_delimiters ( )
Removes all comment delimiters.
void clear_executing_lines ( )
Clears all executed lines.
void clear_string_delimiters ( )
Removes all string delimiters.
void confirm_code_completion ( replace: bool = false )
Inserts the selected entry into the text. If replace is true, any existing text is replaced rather than merged.
void convert_indent ( from_line: int = -1, to_line: int = -1 )
Converts the indents of lines between from_line and to_line to tabs or spaces as set by indent_use_spaces.
Values of -1 convert the entire text.
void create_code_region ( )
Creates a new code region with the selection. At least one single line comment delimiter have to be defined (see add_comment_delimiter).
A code region is a part of code that is highlighted when folded and can help organize your script.
Code region start and end tags can be customized (see set_code_region_tags).
Code regions are delimited using start and end tags (respectively region and endregion by default) preceded by one line comment delimiter. (eg. #region and #endregion)
void delete_lines ( )
Deletes all lines that are selected or have a caret on them.
void do_indent ( )
Perform an indent as if the user activated the "ui_text_indent" action.
void duplicate_lines ( )
Duplicates all lines currently selected with any caret. Duplicates the entire line beneath the current one no matter where the caret is within the line.
void duplicate_selection ( )
Duplicates all selected text and duplicates all lines with a caret on them.
void fold_all_lines ( )
Folds all lines that are possible to be folded (see can_fold_line).
void fold_line ( line: int )
Folds the given line, if possible (see can_fold_line).
String get_auto_brace_completion_close_key ( open_key: String ) const2
Gets the matching auto brace close key for open_key.
PackedInt32Array get_bookmarked_lines ( ) const2
Gets all bookmarked lines.
PackedInt32Array get_breakpointed_lines ( ) const2
Gets all breakpointed lines.
Dictionary get_code_completion_option ( index: int ) const2
Gets the completion option at index. The return Dictionary has the following key-values:
kind: CodeCompletionKind
display_text: Text that is shown on the autocomplete menu.
insert_text: Text that is to be inserted when this item is selected.
font_color: Color of the text on the autocomplete menu.
icon: Icon to draw on the autocomplete menu.
default_value: Value of the symbol.
Array Dictionary get_code_completion_options ( ) const2
Gets all completion options, see get_code_completion_option for return content.
int get_code_completion_selected_index ( ) const2
Gets the index of the current selected completion option.
String get_code_region_end_tag ( ) const2
Returns the code region end tag (without comment delimiter).
String get_code_region_start_tag ( ) const2
Returns the code region start tag (without comment delimiter).
String get_delimiter_end_key ( delimiter_index: int ) const2
Gets the end key for a string or comment region index.
Vector2 get_delimiter_end_position ( line: int, column: int ) const2
If line column is in a string or comment, returns the end position of the region. If not or no end could be found, both Vector2 values will be -1.
String get_delimiter_start_key ( delimiter_index: int ) const2
Gets the start key for a string or comment region index.
Vector2 get_delimiter_start_position ( line: int, column: int ) const2
If line column is in a string or comment, returns the start position of the region. If not or no start could be found, both Vector2 values will be -1.
PackedInt32Array get_executing_lines ( ) const2
Gets all executing lines.
Array int get_folded_lines ( ) const2
Returns all lines that are current folded.
String get_text_for_code_completion ( ) const2
Returns the full text with char 0xFFFF at the caret location.
String get_text_for_symbol_lookup ( ) const2
Returns the full text with char 0xFFFF at the cursor location.
String get_text_with_cursor_char ( line: int, column: int ) const2
Returns the full text with char 0xFFFF at the specified location.
bool has_auto_brace_completion_close_key ( close_key: String ) const2
Returns true if close key close_key exists.
bool has_auto_brace_completion_open_key ( open_key: String ) const2
Returns true if open key open_key exists.
bool has_comment_delimiter ( start_key: String ) const2
Returns true if comment start_key exists.
bool has_string_delimiter ( start_key: String ) const2
Returns true if string start_key exists.
void indent_lines ( )
Indents selected lines, or in the case of no selection the caret line by one.
int is_in_comment ( line: int, column: int = -1 ) const2
Returns delimiter index if line column is in a comment. If column is not provided, will return delimiter index if the entire line is a comment. Otherwise -1.
int is_in_string ( line: int, column: int = -1 ) const2
Returns the delimiter index if line column is in a string. If column is not provided, will return the delimiter index if the entire line is a string. Otherwise -1.
bool is_line_bookmarked ( line: int ) const2
Returns whether the line at the specified index is bookmarked or not.
bool is_line_breakpointed ( line: int ) const2
Returns whether the line at the specified index is breakpointed or not.
bool is_line_code_region_end ( line: int ) const2
Returns whether the line at the specified index is a code region end.
bool is_line_code_region_start ( line: int ) const2
Returns whether the line at the specified index is a code region start.
bool is_line_executing ( line: int ) const2
Returns whether the line at the specified index is marked as executing or not.
bool is_line_folded ( line: int ) const2
Returns whether the line at the specified index is folded or not.
void move_lines_down ( )
Moves all lines down that are selected or have a caret on them.
void move_lines_up ( )
Moves all lines up that are selected or have a caret on them.
void remove_comment_delimiter ( start_key: String )
Removes the comment delimiter with start_key.
void remove_string_delimiter ( start_key: String )
Removes the string delimiter with start_key.
void request_code_completion ( force: bool = false )
Emits code_completion_requested, if force is true will bypass all checks. Otherwise will check that the caret is in a word or in front of a prefix. Will ignore the request if all current options are of type file path, node path, or signal.
void set_code_completion_selected_index ( index: int )
Sets the current selected completion option.
void set_code_hint ( code_hint: String )
Sets the code hint text. Pass an empty string to clear.
void set_code_hint_draw_below ( draw_below: bool )
Sets if the code hint should draw below the text.
void set_code_region_tags ( start: String = "region", end: String = "endregion" )
Sets the code region start and end tags (without comment delimiter).
void set_line_as_bookmarked ( line: int, bookmarked: bool )
Sets the line as bookmarked.
void set_line_as_breakpoint ( line: int, breakpointed: bool )
Sets the line as breakpointed.
void set_line_as_executing ( line: int, executing: bool )
Sets the line as executing.
void set_symbol_lookup_word_as_valid ( valid: bool )
Sets the symbol emitted by symbol_validate as a valid lookup.
void toggle_foldable_line ( line: int )
Toggle the folding of the code block at the given line.
void toggle_foldable_lines_at_carets ( )
Toggle the folding of the code block on all lines with a caret on them.
void unfold_all_lines ( )
Unfolds all lines, folded or not.
void unfold_line ( line: int )
Unfolds all lines that were previously folded.
void unindent_lines ( )
Unindents selected lines, or in the case of no selection the caret line by one. Same as performing "ui_text_unindent" action.
void update_code_completion_options ( force: bool )
Submits all completion options added with add_code_completion_option. Will try to force the autocomplete menu to popup, if force is true.
Note: This will replace all current candidates.
主题属性说明
Color bookmark_color = Color(0.5, 0.64, 1, 0.8)
Color of the bookmark icon for bookmarked lines.
Color brace_mismatch_color = Color(1, 0.2, 0.2, 1)
Color of the text to highlight mismatched braces.
Color breakpoint_color = Color(0.9, 0.29, 0.3, 1)
Color of the breakpoint icon for bookmarked lines.
Color code_folding_color = Color(0.8, 0.8, 0.8, 0.8)
Color for all icons related to line folding.
Color completion_background_color = Color(0.17, 0.16, 0.2, 1)
Sets the background Color for the code completion popup.
Color completion_existing_color = Color(0.87, 0.87, 0.87, 0.13)
Background highlight Color for matching text in code completion options.
Color completion_scroll_color = Color(1, 1, 1, 0.29)
Color of the scrollbar in the code completion popup.
Color completion_scroll_hovered_color = Color(1, 1, 1, 0.4)
Color of the scrollbar in the code completion popup when hovered.
Color completion_selected_color = Color(0.26, 0.26, 0.27, 1)
Background highlight Color for the current selected option item in the code completion popup.
Color executing_line_color = Color(0.98, 0.89, 0.27, 1)
Color of the executing icon for executing lines.
Color folded_code_region_color = Color(0.68, 0.46, 0.77, 0.2)
Color of background line highlight for folded code region.
Color line_length_guideline_color = Color(0.3, 0.5, 0.8, 0.1)
Color of the main line length guideline, secondary guidelines will have 50% alpha applied.
Color line_number_color = Color(0.67, 0.67, 0.67, 0.4)
Sets the Color of line numbers.
int completion_lines = 7
Max number of options to display in the code completion popup at any one time.
int completion_max_width = 50
Max width of options in the code completion popup. Options longer than this will be cut off.
int completion_scroll_width = 6
Width of the scrollbar in the code completion popup.
Texture2D bookmark
Sets a custom Texture2D to draw in the bookmark gutter for bookmarked lines.
Texture2D breakpoint
Sets a custom Texture2D to draw in the breakpoint gutter for breakpointed lines.
Texture2D can_fold
Sets a custom Texture2D to draw in the line folding gutter when a line can be folded.
Texture2D can_fold_code_region
Sets a custom Texture2D to draw in the line folding gutter when a code region can be folded.
Texture2D completion_color_bg
Background panel for the color preview box in autocompletion (visible when the color is translucent).
Texture2D executing_line
Icon to draw in the executing gutter for executing lines.
Texture2D folded
Sets a custom Texture2D to draw in the line folding gutter when a line is folded and can be unfolded.
Texture2D folded_code_region
Sets a custom Texture2D to draw in the line folding gutter when a code region is folded and can be unfolded.
Texture2D folded_eol_icon
Sets a custom Texture2D to draw at the end of a folded line.
StyleBox completion
StyleBox for the code completion popup.
本方法通常需要用户覆盖才能生效。
本方法无副作用,不会修改该实例的任何成员变量。
本方法除了能接受在此处描述的参数外,还能够继续接受任意数量的参数。
本方法用于构造某个类型。
调用本方法无需实例,可直接使用类名进行调用。
本方法描述的是使用本类型作为左操作数的有效运算符。
这个值是由下列位标志构成位掩码的整数。
无返回值。