TextEdit

Inherits: Control < CanvasItem < Node < Object

Multiline text editing control.

Description

TextEdit is meant for editing large, multiline text. It also has facilities for editing code, such as syntax highlighting support and multiple levels of undo/redo.

Note: When holding down Alt, the vertical scroll wheel will scroll 5 times as fast as it would normally do. This also works in the Godot script editor.

Properties

bool

bookmark_gutter

false

bool

breakpoint_gutter

false

bool

caret_blink

false

float

caret_blink_speed

0.65

bool

caret_block_mode

false

bool

caret_moving_by_right_click

true

bool

context_menu_enabled

true

bool

deselect_on_focus_loss_enabled

true

bool

draw_spaces

false

bool

draw_tabs

false

FocusMode

focus_mode

2 (overrides Control)

bool

fold_gutter

false

bool

hiding_enabled

false

bool

highlight_all_occurrences

false

bool

highlight_current_line

false

bool

middle_mouse_paste_enabled

true

bool

minimap_draw

false

int

minimap_width

80

CursorShape

mouse_default_cursor_shape

1 (overrides Control)

bool

override_selected_font_color

false

bool

readonly

false

int

scroll_horizontal

0

float

scroll_vertical

0.0

bool

selecting_enabled

true

bool

shortcut_keys_enabled

true

bool

show_line_numbers

false

bool

smooth_scrolling

false

bool

syntax_highlighting

false

String

text

""

float

v_scroll_speed

80.0

bool

virtual_keyboard_enabled

true

bool

wrap_enabled

false

Methods

void

add_color_region ( String begin_key, String end_key, Color color, bool line_only=false )

void

add_keyword_color ( String keyword, Color color )

bool

can_fold ( int line ) const

void

center_viewport_to_cursor ( )

void

clear_colors ( )

void

clear_undo_history ( )

void

copy ( )

int

cursor_get_column ( ) const

int

cursor_get_line ( ) const

void

cursor_set_column ( int column, bool adjust_viewport=true )

void

cursor_set_line ( int line, bool adjust_viewport=true, bool can_be_hidden=true, int wrap_index=0 )

void

cut ( )

void

deselect ( )

void

fold_all_lines ( )

void

fold_line ( int line )

Array

get_breakpoints ( ) const

Color

get_keyword_color ( String keyword ) const

String

get_line ( int line ) const

Vector2

get_line_column_at_pos ( Vector2 position ) const

int

get_line_count ( ) const

int

get_line_height ( ) const

int

get_line_width ( int line, int wrap_index=-1 ) const

int

get_line_wrap_count ( int line ) const

PoolStringArray

get_line_wrapped_text ( int line ) const

PopupMenu

get_menu ( ) const

Vector2

get_pos_at_line_column ( int line, int column ) const

Rect2

get_rect_at_line_column ( int line, int column ) const

int

get_selection_from_column ( ) const

int

get_selection_from_line ( ) const

String

get_selection_text ( ) const

int

get_selection_to_column ( ) const

int

get_selection_to_line ( ) const

int

get_total_gutter_width ( ) const

int

get_total_visible_rows ( ) const

int

get_visible_rows ( ) const

String

get_word_under_cursor ( ) const

bool

has_keyword_color ( String keyword ) const

bool

has_redo ( ) const

bool

has_undo ( ) const

void

insert_text_at_cursor ( String text )

bool

is_folded ( int line ) const

bool

is_line_hidden ( int line ) const

bool

is_line_set_as_bookmark ( int line ) const

bool

is_line_set_as_breakpoint ( int line ) const

bool

is_line_set_as_safe ( int line ) const

bool

is_line_wrapped ( int line ) const

bool

is_mouse_over_selection ( bool edges ) const

bool

is_selection_active ( ) const

void

menu_option ( int option )

void

paste ( )

void

redo ( )

void

remove_breakpoints ( )

PoolIntArray

search ( String key, int flags, int from_line, int from_column ) const

void

select ( int from_line, int from_column, int to_line, int to_column )

void

select_all ( )

void

set_line ( int line, String new_text )

void

set_line_as_bookmark ( int line, bool bookmark )

void

set_line_as_breakpoint ( int line, bool breakpoint )

void

set_line_as_hidden ( int line, bool enable )

void

set_line_as_safe ( int line, bool safe )

void

toggle_fold_line ( int line )

void

undo ( )

void

unfold_line ( int line )

void

unhide_all_lines ( )

Theme Properties

Color

background_color

Color( 0, 0, 0, 0 )

Color

bookmark_color

Color( 0.08, 0.49, 0.98, 1 )

Color

brace_mismatch_color

Color( 1, 0.2, 0.2, 1 )

Color

breakpoint_color

Color( 0.8, 0.8, 0.4, 0.2 )

Color

caret_background_color

Color( 0, 0, 0, 1 )

Color

caret_color

Color( 0.88, 0.88, 0.88, 1 )

Color

code_folding_color

Color( 0.8, 0.8, 0.8, 0.8 )

Color

completion_background_color

Color( 0.17, 0.16, 0.2, 1 )

Color

completion_existing_color

Color( 0.87, 0.87, 0.87, 0.13 )

Color

completion_font_color

Color( 0.67, 0.67, 0.67, 1 )

Color

completion_scroll_color

Color( 1, 1, 1, 0.29 )

Color

completion_selected_color

Color( 0.26, 0.26, 0.27, 1 )

Color

current_line_color

Color( 0.25, 0.25, 0.26, 0.8 )

Color

executing_line_color

Color( 0.2, 0.8, 0.2, 0.4 )

Color

font_color

Color( 0.88, 0.88, 0.88, 1 )

Color

font_color_readonly

Color( 0.88, 0.88, 0.88, 0.5 )

Color

font_color_selected

Color( 0, 0, 0, 1 )

Color

function_color

Color( 0.4, 0.64, 0.81, 1 )

Color

line_number_color

Color( 0.67, 0.67, 0.67, 0.4 )

Color

mark_color

Color( 1, 0.4, 0.4, 0.4 )

Color

member_variable_color

Color( 0.9, 0.31, 0.35, 1 )

Color

number_color

Color( 0.92, 0.58, 0.2, 1 )

Color

safe_line_number_color

Color( 0.67, 0.78, 0.67, 0.6 )

Color

selection_color

Color( 0.49, 0.49, 0.49, 1 )

Color

symbol_color

Color( 0.94, 0.94, 0.94, 1 )

Color

word_highlighted_color

Color( 0.8, 0.9, 0.9, 0.15 )

int

completion_lines

7

int

completion_max_width

50

int

completion_scroll_width

6

int

line_spacing

4

Font

font

Texture

fold

Texture

folded

Texture

space

Texture

tab

StyleBox

completion

StyleBox

focus

StyleBox

normal

StyleBox

read_only

Signals

  • breakpoint_toggled ( int row )

Emitted when a breakpoint is placed via the breakpoint gutter.


  • cursor_changed ( )

Emitted when the cursor changes.


Emitted when the info icon is clicked.


  • request_completion ( )



  • text_changed ( )

Emitted when the text changes.

Enumerations

enum SearchFlags:

  • SEARCH_MATCH_CASE = 1 --- Match case when searching.

  • SEARCH_WHOLE_WORDS = 2 --- Match whole words when searching.

  • SEARCH_BACKWARDS = 4 --- Search from end to beginning.


enum SearchResult:

  • SEARCH_RESULT_COLUMN = 0 --- Used to access the result column from search.

  • SEARCH_RESULT_LINE = 1 --- Used to access the result line from search.


enum MenuItems:

  • MENU_CUT = 0 --- Cuts (copies and clears) the selected text.

  • MENU_COPY = 1 --- Copies the selected text.

  • MENU_PASTE = 2 --- Pastes the clipboard text over the selected text (or at the cursor's position).

  • MENU_CLEAR = 3 --- Erases the whole TextEdit text.

  • MENU_SELECT_ALL = 4 --- Selects the whole TextEdit text.

  • MENU_UNDO = 5 --- Undoes the previous action.

  • MENU_REDO = 6 --- Redoes the previous action.

  • MENU_MAX = 7 --- Represents the size of the MenuItems enum.

Property Descriptions

  • bool bookmark_gutter

Default

false

Setter

set_bookmark_gutter_enabled(value)

Getter

is_bookmark_gutter_enabled()

If true, the bookmark gutter is visible.


  • bool breakpoint_gutter

Default

false

Setter

set_breakpoint_gutter_enabled(value)

Getter

is_breakpoint_gutter_enabled()

If true, the breakpoint gutter is visible.


Default

false

Setter

cursor_set_blink_enabled(value)

Getter

cursor_get_blink_enabled()

If true, the caret (visual cursor) blinks.


Default

0.65

Setter

cursor_set_blink_speed(value)

Getter

cursor_get_blink_speed()

Duration (in seconds) of a caret's blinking cycle.


  • bool caret_block_mode

Default

false

Setter

cursor_set_block_mode(value)

Getter

cursor_is_block_mode()

If true, the caret displays as a rectangle.

If false, the caret displays as a bar.


  • bool caret_moving_by_right_click

Default

true

Setter

set_right_click_moves_caret(value)

Getter

is_right_click_moving_caret()

If true, a right-click moves the cursor at the mouse position before displaying the context menu.

If false, the context menu disregards mouse location.


  • bool context_menu_enabled

Default

true

Setter

set_context_menu_enabled(value)

Getter

is_context_menu_enabled()

If true, a right-click displays the context menu.


  • bool deselect_on_focus_loss_enabled

Default

true

Setter

set_deselect_on_focus_loss_enabled(value)

Getter

is_deselect_on_focus_loss_enabled()

If true, the selected text will be deselected when focus is lost.


Default

false

Setter

set_draw_spaces(value)

Getter

is_drawing_spaces()

If true, the "space" character will have a visible representation.


Default

false

Setter

set_draw_tabs(value)

Getter

is_drawing_tabs()

If true, the "tab" character will have a visible representation.


Default

false

Setter

set_draw_fold_gutter(value)

Getter

is_drawing_fold_gutter()

If true, the fold gutter is visible. This enables folding groups of indented lines.


  • bool hiding_enabled

Default

false

Setter

set_hiding_enabled(value)

Getter

is_hiding_enabled()

If true, all lines that have been set to hidden by set_line_as_hidden, will not be visible.


  • bool highlight_all_occurrences

Default

false

Setter

set_highlight_all_occurrences(value)

Getter

is_highlight_all_occurrences_enabled()

If true, all occurrences of the selected text will be highlighted.


  • bool highlight_current_line

Default

false

Setter

set_highlight_current_line(value)

Getter

is_highlight_current_line_enabled()

If true, the line containing the cursor is highlighted.


  • bool middle_mouse_paste_enabled

Default

true

Setter

set_middle_mouse_paste_enabled(value)

Getter

is_middle_mouse_paste_enabled()

If false, using middle mouse button to paste clipboard will be disabled.

Note: This method is only implemented on Linux.


Default

false

Setter

draw_minimap(value)

Getter

is_drawing_minimap()

If true, a minimap is shown, providing an outline of your source code.


  • int minimap_width

Default

80

Setter

set_minimap_width(value)

Getter

get_minimap_width()

The width, in pixels, of the minimap.


  • bool override_selected_font_color

Default

false

Setter

set_override_selected_font_color(value)

Getter

is_overriding_selected_font_color()

If true, custom font_color_selected will be used for selected text.


Default

false

Setter

set_readonly(value)

Getter

is_readonly()

If true, read-only mode is enabled. Existing text cannot be modified and new text cannot be added.


  • int scroll_horizontal

Default

0

Setter

set_h_scroll(value)

Getter

get_h_scroll()

If there is a horizontal scrollbar, this determines the current horizontal scroll value in pixels.


Default

0.0

Setter

set_v_scroll(value)

Getter

get_v_scroll()

If there is a vertical scrollbar, this determines the current vertical scroll value in line numbers, starting at 0 for the top line.


  • bool selecting_enabled

Default

true

Setter

set_selecting_enabled(value)

Getter

is_selecting_enabled()

If true, text can be selected.

If false, text can not be selected by the user or by the select or select_all methods.


  • bool shortcut_keys_enabled

Default

true

Setter

set_shortcut_keys_enabled(value)

Getter

is_shortcut_keys_enabled()

If true, shortcut keys for context menu items are enabled, even if the context menu is disabled.


  • bool show_line_numbers

Default

false

Setter

set_show_line_numbers(value)

Getter

is_show_line_numbers_enabled()

If true, line numbers are displayed to the left of the text.


  • bool smooth_scrolling

Default

false

Setter

set_smooth_scroll_enable(value)

Getter

is_smooth_scroll_enabled()

If true, sets the step of the scrollbars to 0.25 which results in smoother scrolling.


  • bool syntax_highlighting

Default

false

Setter

set_syntax_coloring(value)

Getter

is_syntax_coloring_enabled()

If true, any custom color properties that have been set for this TextEdit will be visible.


Default

""

Setter

set_text(value)

Getter

get_text()

String value of the TextEdit.


Default

80.0

Setter

set_v_scroll_speed(value)

Getter

get_v_scroll_speed()

Vertical scroll sensitivity.


  • bool virtual_keyboard_enabled

Default

true

Setter

set_virtual_keyboard_enabled(value)

Getter

is_virtual_keyboard_enabled()

If true, the native virtual keyboard is shown when focused on platforms that support it.


Default

false

Setter

set_wrap_enabled(value)

Getter

is_wrap_enabled()

If true, enables text wrapping when it goes beyond the edge of what is visible.

Method Descriptions

Adds color region (given the delimiters) and its colors.


  • void add_keyword_color ( String keyword, Color color )

Adds a keyword and its Color.


Returns if the given line is foldable, that is, it has indented lines right below it.


  • void center_viewport_to_cursor ( )

Centers the viewport on the line the editing cursor is at. This also resets the scroll_horizontal value to 0.


  • void clear_colors ( )

Clears all custom syntax coloring information previously added with add_color_region or add_keyword_color.


  • void clear_undo_history ( )

Clears the undo history.


  • void copy ( )

Copy's the current text selection.


  • int cursor_get_column ( ) const

Returns the column the editing cursor is at.


  • int cursor_get_line ( ) const

Returns the line the editing cursor is at.


  • void cursor_set_column ( int column, bool adjust_viewport=true )

Moves the cursor at the specified column index.

If adjust_viewport is set to true, the viewport will center at the cursor position after the move occurs.


  • void cursor_set_line ( int line, bool adjust_viewport=true, bool can_be_hidden=true, int wrap_index=0 )

Moves the cursor at the specified line index.

If adjust_viewport is set to true, the viewport will center at the cursor position after the move occurs.

If can_be_hidden is set to true, the specified line can be hidden using set_line_as_hidden.


  • void cut ( )

Cut's the current selection.


  • void deselect ( )

Deselects the current selection.


  • void fold_all_lines ( )

Folds all lines that are possible to be folded (see can_fold).


  • void fold_line ( int line )

Folds the given line, if possible (see can_fold).


  • Array get_breakpoints ( ) const

Returns an array containing the line number of each breakpoint.


Returns the Color of the specified keyword.


Returns the text of a specific line.


Returns the line and column at the given position. In the returned vector, x is the column, y is the line.


  • int get_line_count ( ) const

Returns the amount of total lines in the text.


  • int get_line_height ( ) const

Returns the height of a largest line.


  • int get_line_width ( int line, int wrap_index=-1 ) const

Returns the width in pixels of the wrap_index on line.


  • int get_line_wrap_count ( int line ) const

Returns the number of times the given line is wrapped.


Returns an array of Strings representing each wrapped index.


Returns the PopupMenu of this TextEdit. By default, this menu is displayed when right-clicking on the TextEdit.

Warning: This is a required internal node, removing and freeing it may cause a crash. If you wish to hide it or any of its children, use their CanvasItem.visible property.


Returns the local position for the given line and column. If x or y of the returned vector equal -1, the position is outside of the viewable area of the control.

Note: The Y position corresponds to the bottom side of the line. Use get_rect_at_line_column to get the top side position.


  • Rect2 get_rect_at_line_column ( int line, int column ) const

Returns the local position and size for the grapheme at the given line and column. If x or y position of the returned rect equal -1, the position is outside of the viewable area of the control.

Note: The Y position of the returned rect corresponds to the top side of the line, unlike get_pos_at_line_column which returns the bottom side.


  • int get_selection_from_column ( ) const

Returns the selection begin column.


  • int get_selection_from_line ( ) const

Returns the selection begin line.


  • String get_selection_text ( ) const

Returns the text inside the selection.


  • int get_selection_to_column ( ) const

Returns the selection end column.


  • int get_selection_to_line ( ) const

Returns the selection end line.


  • int get_total_gutter_width ( ) const

Returns the total width of all gutters and internal padding.


  • int get_total_visible_rows ( ) const

Returns the total amount of lines that could be drawn.


  • int get_visible_rows ( ) const

Returns the number of visible lines, including wrapped text.


  • String get_word_under_cursor ( ) const

Returns a String text with the word under the caret (text cursor) location.


Returns whether the specified keyword has a color set to it or not.


  • bool has_redo ( ) const

Returns true if a "redo" action is available.


  • bool has_undo ( ) const

Returns true if an "undo" action is available.


  • void insert_text_at_cursor ( String text )

Insert the specified text at the cursor position.


  • bool is_folded ( int line ) const

Returns whether the line at the specified index is folded or not.


  • bool is_line_hidden ( int line ) const

Returns whether the line at the specified index is hidden or not.


  • bool is_line_set_as_bookmark ( int line ) const

Returns true when the specified line is bookmarked.


  • bool is_line_set_as_breakpoint ( int line ) const

Returns true when the specified line has a breakpoint.


  • bool is_line_set_as_safe ( int line ) const

Returns true when the specified line is marked as safe.


  • bool is_line_wrapped ( int line ) const

Returns if the given line is wrapped.


  • bool is_mouse_over_selection ( bool edges ) const

Returns whether the mouse is over selection. If edges is true, the edges are considered part of the selection.


  • bool is_selection_active ( ) const

Returns true if the selection is active.


  • void menu_option ( int option )

Triggers a right-click menu action by the specified index. See MenuItems for a list of available indexes.


  • void paste ( )

Paste the current selection.


  • void redo ( )

Perform redo operation.


  • void remove_breakpoints ( )

Removes all the breakpoints. This will not fire the breakpoint_toggled signal.


Perform a search inside the text. Search flags can be specified in the SearchFlags enum.

Returns an empty PoolIntArray if no result was found. Otherwise, the result line and column can be accessed at indices specified in the SearchResult enum, e.g:

var result = search(key, flags, line, column)
if result.size() > 0:
    # Result found.
    var res_line = result[TextEdit.SEARCH_RESULT_LINE]
    var res_column = result[TextEdit.SEARCH_RESULT_COLUMN]

  • void select ( int from_line, int from_column, int to_line, int to_column )

Perform selection, from line/column to line/column.

If selecting_enabled is false, no selection will occur.


  • void select_all ( )

Select all the text.

If selecting_enabled is false, no selection will occur.


  • void set_line ( int line, String new_text )

Sets the text for a specific line.


  • void set_line_as_bookmark ( int line, bool bookmark )

Bookmarks the line if bookmark is true. Deletes the bookmark if bookmark is false.

Bookmarks are shown in the breakpoint_gutter.


  • void set_line_as_breakpoint ( int line, bool breakpoint )

Adds or removes the breakpoint in line. Breakpoints are shown in the breakpoint_gutter.


  • void set_line_as_hidden ( int line, bool enable )

If true, hides the line of the specified index.


  • void set_line_as_safe ( int line, bool safe )

If true, marks the line as safe.

This will show the line number with the color provided in the safe_line_number_color theme property.


  • void toggle_fold_line ( int line )

Toggle the folding of the code block at the given line.


  • void undo ( )

Perform undo operation.


  • void unfold_line ( int line )

Unfolds the given line, if folded.


  • void unhide_all_lines ( )

Unhide all lines that were previously set to hidden by set_line_as_hidden.

Theme Property Descriptions

Default

Color( 0, 0, 0, 0 )

Sets the background Color of this TextEdit. syntax_highlighting has to be enabled.


Default

Color( 0.08, 0.49, 0.98, 1 )

Sets the Color of the bookmark marker. syntax_highlighting has to be enabled.


  • Color brace_mismatch_color

Default

Color( 1, 0.2, 0.2, 1 )


Default

Color( 0.8, 0.8, 0.4, 0.2 )

Sets the Color of the breakpoints. breakpoint_gutter has to be enabled.


  • Color caret_background_color

Default

Color( 0, 0, 0, 1 )


Default

Color( 0.88, 0.88, 0.88, 1 )


  • Color code_folding_color

Default

Color( 0.8, 0.8, 0.8, 0.8 )


  • Color completion_background_color

Default

Color( 0.17, 0.16, 0.2, 1 )


  • Color completion_existing_color

Default

Color( 0.87, 0.87, 0.87, 0.13 )


  • Color completion_font_color

Default

Color( 0.67, 0.67, 0.67, 1 )


  • Color completion_scroll_color

Default

Color( 1, 1, 1, 0.29 )


  • Color completion_selected_color

Default

Color( 0.26, 0.26, 0.27, 1 )


  • Color current_line_color

Default

Color( 0.25, 0.25, 0.26, 0.8 )

Sets the Color of the breakpoints. breakpoint_gutter has to be enabled.


  • Color executing_line_color

Default

Color( 0.2, 0.8, 0.2, 0.4 )


Default

Color( 0.88, 0.88, 0.88, 1 )

Sets the font Color.


  • Color font_color_readonly

Default

Color( 0.88, 0.88, 0.88, 0.5 )


  • Color font_color_selected

Default

Color( 0, 0, 0, 1 )

Sets the Color of the selected text. override_selected_font_color has to be enabled.


Default

Color( 0.4, 0.64, 0.81, 1 )


  • Color line_number_color

Default

Color( 0.67, 0.67, 0.67, 0.4 )

Sets the Color of the line numbers. show_line_numbers has to be enabled.


Default

Color( 1, 0.4, 0.4, 0.4 )

Sets the Color of marked text.


  • Color member_variable_color

Default

Color( 0.9, 0.31, 0.35, 1 )


Default

Color( 0.92, 0.58, 0.2, 1 )


  • Color safe_line_number_color

Default

Color( 0.67, 0.78, 0.67, 0.6 )


Default

Color( 0.49, 0.49, 0.49, 1 )

Sets the highlight Color of text selections.


Default

Color( 0.94, 0.94, 0.94, 1 )


  • Color word_highlighted_color

Default

Color( 0.8, 0.9, 0.9, 0.15 )

Sets the highlight Color of multiple occurrences. highlight_all_occurrences has to be enabled.


  • int completion_lines

Default

7


  • int completion_max_width

Default

50


  • int completion_scroll_width

Default

6


  • int line_spacing

Default

4

Sets the spacing between the lines.


Sets the default Font.





Sets a custom Texture for tab text characters.




Sets the StyleBox of this TextEdit.


Sets the StyleBox of this TextEdit when readonly is enabled.