TextEdit
Наследует: Control < CanvasItem < Node < Object
Наследуется от: CodeEdit
Многострочный текстовый редактор.
Описание
Многострочный текстовый редактор. Он также имеет ограниченные возможности для редактирования кода, такие как поддержка подсветки синтаксиса. Более продвинутые возможности для редактирования кода см. в CodeEdit.
При вводе текста можно вставлять специальные символы с использованием альтернативных кодов Unicode, OEM или Windows:
Для ввода кодовых точек Unicode удерживайте Alt и введите кодовую точку на цифровой клавиатуре. Например, чтобы ввести символ
á(U+00E1), удерживайте Alt и введите +E1 на цифровой клавиатуре (начальные нули можно опустить).Для ввода кодовых точек OEM удерживайте Alt и введите код на цифровой клавиатуре. Например, чтобы ввести символ
á(OEM 160), удерживайте Alt и введите160на цифровой клавиатуре.Чтобы ввести кодовые точки Windows, удерживайте Alt и введите код на цифровой клавиатуре. Например, чтобы ввести символ
á(Windows 0225), удерживайте Alt и введите 0, 2, 2, 5 на цифровой клавиатуре. Начальный ноль здесь не должен быть опущен, так как именно так кодовые точки Windows отличаются от кодовых точек OEM.
Примечание: Большинство методов viewport, caret и edit содержат аргумент caret_index для поддержки caret_multiple. Аргумент должен быть одним из следующих: -1 для всех кареток, 0 для главной каретки или больше 0 для второстепенных кареток в порядке их создания.
Примечание: При удерживании Alt вертикальное колесо прокрутки будет прокручиваться в 5 раз быстрее, чем обычно. Это также работает в редакторе скриптов Godot.
Свойства
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
focus_mode |
|
|
|
||
|
||
|
||
|
||
|
||
|
||
|
||
mouse_default_cursor_shape |
|
|
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
Методы
void |
_backspace(caret_index: int) virtual |
void |
|
void |
|
void |
_handle_unicode_input(unicode_char: int, caret_index: int) virtual |
void |
|
void |
_paste_primary_clipboard(caret_index: int) virtual |
void |
add_caret_at_carets(below: bool) |
void |
add_gutter(at: int = -1) |
void |
|
void |
adjust_carets_after_edit(caret: int, from_line: int, from_col: int, to_line: int, to_col: int) |
void |
adjust_viewport_to_caret(caret_index: int = 0) |
void |
|
void |
|
void |
|
void |
|
void |
|
void |
center_viewport_to_caret(caret_index: int = 0) |
void |
clear() |
void |
|
void |
collapse_carets(from_line: int, from_column: int, to_line: int, to_column: int, inclusive: bool = false) |
void |
|
void |
|
void |
delete_selection(caret_index: int = -1) |
void |
|
void |
|
void |
|
void |
|
get_caret_column(caret_index: int = 0) const |
|
get_caret_count() const |
|
get_caret_draw_pos(caret_index: int = 0) const |
|
get_caret_line(caret_index: int = 0) const |
|
get_caret_wrap_index(caret_index: int = 0) const |
|
get_first_non_whitespace_column(line: int) const |
|
get_first_visible_line() const |
|
get_gutter_count() const |
|
get_gutter_name(gutter: int) const |
|
get_gutter_type(gutter: int) const |
|
get_gutter_width(gutter: int) const |
|
get_h_scroll_bar() const |
|
get_indent_level(line: int) const |
|
get_last_full_visible_line() const |
|
get_last_unhidden_line() const |
|
get_line_background_color(line: int) const |
|
get_line_column_at_pos(position: Vector2i, clamp_line: bool = true, clamp_column: bool = true) const |
|
get_line_count() const |
|
get_line_gutter_icon(line: int, gutter: int) const |
|
get_line_gutter_item_color(line: int, gutter: int) const |
|
get_line_gutter_metadata(line: int, gutter: int) const |
|
get_line_gutter_text(line: int, gutter: int) const |
|
get_line_height() const |
|
get_line_ranges_from_carets(only_selections: bool = false, merge_adjacent: bool = true) const |
|
get_line_width(line: int, wrap_index: int = -1) const |
|
get_line_with_ime(line: int) const |
|
get_line_wrap_count(line: int) const |
|
get_line_wrap_index_at_column(line: int, column: int) const |
|
get_line_wrapped_text(line: int) const |
|
get_local_mouse_pos() const |
|
get_menu() const |
|
get_minimap_line_at_pos(position: Vector2i) const |
|
get_minimap_visible_lines() const |
|
get_next_composite_character_column(line: int, column: int) const |
|
get_next_visible_line_index_offset_from(line: int, wrap_index: int, visible_amount: int) const |
|
get_next_visible_line_offset_from(line: int, visible_amount: int) const |
|
get_pos_at_line_column(line: int, column: int) const |
|
get_previous_composite_character_column(line: int, column: int) const |
|
get_rect_at_line_column(line: int, column: int) const |
|
get_saved_version() const |
|
get_scroll_pos_for_line(line: int, wrap_index: int = 0) const |
|
get_selected_text(caret_index: int = -1) |
|
get_selection_at_line_column(line: int, column: int, include_edges: bool = true, only_selections: bool = true) const |
|
get_selection_column(caret_index: int = 0) const |
|
get_selection_from_column(caret_index: int = 0) const |
|
get_selection_from_line(caret_index: int = 0) const |
|
get_selection_line(caret_index: int = 0) const |
|
get_selection_mode() const |
|
get_selection_origin_column(caret_index: int = 0) const |
|
get_selection_origin_line(caret_index: int = 0) const |
|
get_selection_to_column(caret_index: int = 0) const |
|
get_selection_to_line(caret_index: int = 0) const |
|
get_sorted_carets(include_ignored_carets: bool = false) const |
|
get_tab_size() const |
|
get_total_gutter_width() const |
|
get_total_visible_line_count() const |
|
get_v_scroll_bar() const |
|
get_version() const |
|
get_visible_line_count() const |
|
get_visible_line_count_in_range(from_line: int, to_line: int) const |
|
get_word_at_pos(position: Vector2) const |
|
get_word_under_caret(caret_index: int = -1) const |
|
has_ime_text() const |
|
has_redo() const |
|
has_selection(caret_index: int = -1) const |
|
has_undo() const |
|
void |
insert_line_at(line: int, text: String) |
void |
insert_text(text: String, line: int, column: int, before_selection_begin: bool = true, before_selection_end: bool = false) |
void |
insert_text_at_caret(text: String, caret_index: int = -1) |
is_caret_after_selection_origin(caret_index: int = 0) const |
|
is_caret_visible(caret_index: int = 0) const |
|
is_dragging_cursor() const |
|
is_gutter_clickable(gutter: int) const |
|
is_gutter_drawn(gutter: int) const |
|
is_gutter_overwritable(gutter: int) const |
|
is_in_mulitcaret_edit() const |
|
is_line_gutter_clickable(line: int, gutter: int) const |
|
is_line_wrapped(line: int) const |
|
is_menu_visible() const |
|
is_mouse_over_selection(edges: bool, caret_index: int = -1) const |
|
is_overtype_mode_enabled() const |
|
void |
menu_option(option: int) |
void |
merge_gutters(from_line: int, to_line: int) |
void |
|
multicaret_edit_ignore_caret(caret_index: int) const |
|
void |
|
void |
paste_primary_clipboard(caret_index: int = -1) |
void |
redo() |
void |
remove_caret(caret: int) |
void |
remove_gutter(gutter: int) |
void |
remove_line_at(line: int, move_carets_down: bool = true) |
void |
|
void |
remove_text(from_line: int, from_column: int, to_line: int, to_column: int) |
search(text: String, flags: int, from_line: int, from_column: int) const |
|
void |
select(origin_line: int, origin_column: int, caret_line: int, caret_column: int, caret_index: int = 0) |
void |
|
void |
select_word_under_caret(caret_index: int = -1) |
void |
set_caret_column(column: int, adjust_viewport: bool = true, caret_index: int = 0) |
void |
set_caret_line(line: int, adjust_viewport: bool = true, can_be_hidden: bool = true, wrap_index: int = 0, caret_index: int = 0) |
void |
set_gutter_clickable(gutter: int, clickable: bool) |
void |
set_gutter_custom_draw(column: int, draw_callback: Callable) |
void |
set_gutter_draw(gutter: int, draw: bool) |
void |
set_gutter_name(gutter: int, name: String) |
void |
set_gutter_overwritable(gutter: int, overwritable: bool) |
void |
set_gutter_type(gutter: int, type: GutterType) |
void |
set_gutter_width(gutter: int, width: int) |
void |
|
void |
set_line_as_center_visible(line: int, wrap_index: int = 0) |
void |
set_line_as_first_visible(line: int, wrap_index: int = 0) |
void |
set_line_as_last_visible(line: int, wrap_index: int = 0) |
void |
set_line_background_color(line: int, color: Color) |
void |
set_line_gutter_clickable(line: int, gutter: int, clickable: bool) |
void |
set_line_gutter_icon(line: int, gutter: int, icon: Texture2D) |
void |
set_line_gutter_item_color(line: int, gutter: int, color: Color) |
void |
set_line_gutter_metadata(line: int, gutter: int, metadata: Variant) |
void |
set_line_gutter_text(line: int, gutter: int, text: String) |
void |
set_overtype_mode_enabled(enabled: bool) |
void |
set_search_flags(flags: int) |
void |
set_search_text(search_text: String) |
void |
set_selection_mode(mode: SelectionMode) |
void |
set_selection_origin_column(column: int, caret_index: int = 0) |
void |
set_selection_origin_line(line: int, can_be_hidden: bool = true, wrap_index: int = -1, caret_index: int = 0) |
void |
set_tab_size(size: int) |
void |
set_tooltip_request_func(callback: Callable) |
void |
|
void |
start_action(action: EditAction) |
void |
swap_lines(from_line: int, to_line: int) |
void |
|
void |
undo() |
Свойства темы
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
Сигналы
caret_changed() 🔗
Вызывается при изменении положения курсора.
gutter_added() 🔗
Выделяется при добавлении желоба.
gutter_clicked(line: int, gutter: int) 🔗
Издается при нажатии на желоб.
gutter_removed() 🔗
Выделяется при снятии желоба.
lines_edited_from(from_line: int, to_line: int) 🔗
Выдается немедленно при изменении текста.
При добавлении текста from_line будет меньше, чем to_line. При удалении to_line будет меньше, чем from_line.
text_changed() 🔗
Выдается при изменении текста.
text_set() 🔗
Перечисления
Вырезает (копирует и очищает) выделенный текст.
Копирует выделенный текст.
Вставляет текст из буфера обмена поверх выделенного текста (или в позицию курсора).
Удаляет весь текст TextEdit.
Выделяет весь текст TextEdit.
Отменяет предыдущее действие.
Повторяет предыдущее действие.
Идентификатор подменю «Направление написания текста».
Устанавливает унаследованное направление текста.
Устанавливает автоматическое направление текста.
Устанавливает направление текста слева направо.
Устанавливает направление текста справа налево.
Переключает отображение управляющего символа.
Идентификатор подменю «Вставить управляющий символ».
Вставляет символ знака слева направо (LRM).
Вставляет символ с письмом справа налево (RLM).
Вставляет начало символа вставки слева направо (LRE).
Вставляет начало символа вставки справа налево (RLE).
Вставляет начало символа переопределения слева направо (LRO).
Вставляет начало символа переопределения справа налево (RLO).
Вставляет символ форматирования направления поп-арта (PDF).
Вставляет символ арабской буквы (ALM).
Вставляет изолирующий символ слева направо (LRI).
Вставляет изолирующий символ справа налево (RLI).
Вставляет первый сильный изолятный (FSI) символ.
Вставляет символ изоляции направления поп-музыки (PDI).
Вставляет символ объединения нулевой ширины (ZWJ).
Вставляет символ нулевой ширины, не являющийся объединяющим (ZWNJ).
Вставляет символ объединения слов (WJ).
Вставляет символ мягкого дефиса (SHY).
Открывает системный выбор эмодзи и символов.
Представляет размер перечисления MenuItems.
enum EditAction: 🔗
EditAction ACTION_NONE = 0
Текущих действий нет.
EditAction ACTION_TYPING = 1
Действие ввода текста.
EditAction ACTION_BACKSPACE = 2
Обратное действие удаления.
EditAction ACTION_DELETE = 3
Действие прямого удаления.
enum SearchFlags: 🔗
SearchFlags SEARCH_MATCH_CASE = 1
При поиске учитывайте регистр.
SearchFlags SEARCH_WHOLE_WORDS = 2
При поиске сопоставляйте целые слова.
SearchFlags SEARCH_BACKWARDS = 4
Поиск от конца к началу.
enum CaretType: 🔗
CaretType CARET_TYPE_LINE = 0
Вертикальная линия каретки.
CaretType CARET_TYPE_BLOCK = 1
Блокировка курсора (каретки).
enum SelectionMode: 🔗
SelectionMode SELECTION_MODE_NONE = 0
Не выбирать.
SelectionMode SELECTION_MODE_SHIFT = 1
Выбрать так, как будто нажата клавиша shift.
SelectionMode SELECTION_MODE_POINTER = 2
Выбирайте отдельные символы, как если бы пользователь щелкнул один раз.
SelectionMode SELECTION_MODE_WORD = 3
Выделяйте целые слова, как если бы пользователь дважды щелкнул по ним.
SelectionMode SELECTION_MODE_LINE = 4
Выделять целые строки, как если бы пользователь щелкнул три раза.
enum LineWrappingMode: 🔗
LineWrappingMode LINE_WRAPPING_NONE = 0
Перенос строк отключен.
LineWrappingMode LINE_WRAPPING_BOUNDARY = 1
Перенос строк происходит на границе элемента управления, за пределами того, что обычно видно.
enum GutterType: 🔗
GutterType GUTTER_TYPE_STRING = 0
Если для поля ввода задано значение строки с помощью метода set_gutter_type(), оно используется для размещения текста, заданного с помощью метода set_line_gutter_text().
GutterType GUTTER_TYPE_ICON = 1
Если желоб установлен в качестве значка с помощью метода set_gutter_type(), он используется для размещения значка, установленного с помощью метода set_line_gutter_icon().
GutterType GUTTER_TYPE_CUSTOM = 2
Если желоб настроен как пользовательский с помощью set_gutter_type(), он используется для хранения пользовательских визуальных элементов, управляемых методом обратного вызова, установленным с помощью метода set_gutter_custom_draw().
Описания свойств
AutowrapMode autowrap_mode = 3 🔗
void set_autowrap_mode(value: AutowrapMode)
AutowrapMode get_autowrap_mode()
Если wrap_mode установлен в LINE_WRAPPING_BOUNDARY, задает режим переноса текста.
bool backspace_deletes_composite_character_enabled = false 🔗
void set_backspace_deletes_composite_character_enabled(value: bool)
bool is_backspace_deletes_composite_character_enabled()
Если true и caret_mid_grapheme в значении false, Возврат удаляет весь составной символ, такой как ❤️🩹, вместо удаления части составного символа.
Если true, курсор мигает.
float caret_blink_interval = 0.65 🔗
Интервал мигания курсора (в секундах).
bool caret_draw_when_editable_disabled = false 🔗
void set_draw_caret_when_editable_disabled(value: bool)
bool is_drawing_caret_when_editable_disabled()
Если true, курсор будет виден, когда editable отключен.
bool caret_mid_grapheme = false 🔗
Разрешить перемещение курсора, выбор и удаление отдельных компонентов составного символа.
Примечание: Backspace всегда удаляет отдельные компоненты составного символа.
bool caret_move_on_right_click = true 🔗
Если true, щелчок правой кнопкой мыши перемещает курсор в позицию мыши перед отображением контекстного меню.
Если false, контекстное меню игнорирует местоположение мыши.
Если true, разрешено несколько кареток. Щелчок левой кнопкой мыши с Alt добавляет новую каретку. См. add_caret() и get_caret_count().
Установите тип курсора для рисования.
Если true, щелчок правой кнопкой мыши отображает контекстное меню.
String custom_word_separators = "" 🔗
Символы, которые следует рассматривать как разделители слов, если use_custom_word_separators имеет значение true. Символы следует определять без разделителей, например #_!.
bool deselect_on_focus_loss_enabled = true 🔗
Если true, выделенный текст будет снят с выделения при потере фокуса.
bool drag_and_drop_selection_enabled = true 🔗
Если true, разрешить перетаскивание выделенного текста. Текст по-прежнему можно перетаскивать из других источников.
bool draw_control_chars = false 🔗
Если true, отображаются управляющие символы.
Если true, символ «пробел» будет иметь видимое представление.
Если true, символ «табуляции» будет иметь видимое представление.
Если false, существующий текст не может быть изменен и новый текст не может быть добавлен.
Если true, меню «Эмодзи и символы» включено.
bool empty_selection_clipboard_enabled = true 🔗
Если true, копирование или вырезание без выделения выполняется на всех строках с кареткой. В противном случае копирование и вырезание требуют выделения.
bool highlight_all_occurrences = false 🔗
Если true, все вхождения выбранного текста будут выделены.
bool highlight_current_line = false 🔗
Если true, то строка, содержащая курсор, будет выделена.
bool indent_wrapped_lines = false 🔗
Если true, все перенесенные строки имеют такой же отступ, как и развернутая строка.
Код языка, используемый алгоритмами переноса строк и форматирования текста. Если оставить поле пустым, будет использоваться текущая локаль.
bool middle_mouse_paste_enabled = true 🔗
Если false, использование средней кнопки мыши для вставки буфера обмена будет отключено.
Примечание: Этот метод реализован только в Linux.
Если true, отображается мини-карта, предоставляющая схему исходного кода. Мини-карта использует фиксированный размер текста.
Ширина мини-карты в пикселях.
String placeholder_text = "" 🔗
Текст, отображаемый, когда TextEdit пуст. Это не значение по умолчанию для TextEdit (см. text).
bool scroll_fit_content_height = false 🔗
Если true, TextEdit отключит вертикальную прокрутку и подгонит минимальную высоту под количество видимых строк. Когда и это свойство, и scroll_fit_content_width равны true, полосы прокрутки отображаться не будут.
bool scroll_fit_content_width = false 🔗
Если true, TextEdit отключит горизонтальную прокрутку и подгонит минимальную ширину к самой широкой строке в тексте. Когда и это свойство, и scroll_fit_content_height равны true, полосы прокрутки отображаться не будут.
Если есть горизонтальная полоса прокрутки, это определяет текущее значение горизонтальной прокрутки в пикселях.
bool scroll_past_end_of_file = false 🔗
Разрешить прокрутку за пределы последней строки в «виртуальное» пространство.
Прокручивайте текст плавно, не переходя к следующему месту.
float scroll_v_scroll_speed = 80.0 🔗
Устанавливает скорость прокрутки с помощью мини-карты или когда включен scroll_smooth.
Если имеется вертикальная полоса прокрутки, это определяет текущее значение вертикальной прокрутки в номерах строк, начиная с 0 для верхней строки.
bool selecting_enabled = true 🔗
Если true, текст может быть выбран.
Если false, текст не может быть выбран пользователем или методами select() или select_all().
bool shortcut_keys_enabled = true 🔗
Если true, сочетания клавиш для пунктов контекстного меню включены, даже если контекстное меню отключено.
StructuredTextParser structured_text_bidi_override = 0 🔗
void set_structured_text_bidi_override(value: StructuredTextParser)
StructuredTextParser get_structured_text_bidi_override()
Установите переопределение алгоритма BiDi для структурированного текста.
Array structured_text_bidi_override_options = [] 🔗
void set_structured_text_bidi_override_options(value: Array)
Array get_structured_text_bidi_override_options()
Установите дополнительные параметры для переопределения BiDi.
SyntaxHighlighter syntax_highlighter 🔗
void set_syntax_highlighter(value: SyntaxHighlighter)
SyntaxHighlighter get_syntax_highlighter()
Подсветка синтаксиса для использования.
Примечание: Экземпляр SyntaxHighlighter не следует использовать в нескольких узлах TextEdit.
Если true, ProjectSettings.input/ui_text_indent вводит символ Tab, в противном случае фокус клавиатуры перемещается на следующий Control в сцене.
Строковое значение TextEdit.
TextDirection text_direction = 0 🔗
void set_text_direction(value: TextDirection)
TextDirection get_text_direction()
Направление написания базового текста.
bool use_custom_word_separators = false 🔗
Если false, при использовании Ctrl + Left или Ctrl + Right (Cmd + Left или Cmd + Right на macOS) привязки будут использовать поведение use_default_word_separators. Если true, он также остановит курсор, если будет обнаружен символ внутри custom_word_separators. Полезно для перемещения подслов. Это поведение также будет применено к поведению выделения текста.
bool use_default_word_separators = true 🔗
Если false, привязка Ctrl + Left или Ctrl + Right (Cmd + Left или Cmd + Right на macOS) остановит перемещение курсора только в случае обнаружения пробела или знака препинания. Если true, то курсор также остановится, если символ является частью !"#$%&'()*+,-./:;<=>?@[\]^`{|}~, таблицы общей пунктуации Unicode или таблицы пунктуации Unicode CJK. Полезно для перемещения подслов. Это поведение также будет применено к поведению выделения текста.
bool virtual_keyboard_enabled = true 🔗
Если true, встроенная виртуальная клавиатура включена на платформах, которые ее поддерживают.
bool virtual_keyboard_show_on_focus = true 🔗
Если true, то собственная виртуальная клавиатура отображается при фокусировке на платформах, которые ее поддерживают.
LineWrappingMode wrap_mode = 0 🔗
void set_line_wrapping_mode(value: LineWrappingMode)
LineWrappingMode get_line_wrapping_mode()
Устанавливает используемый режим переноса строк.
Описания метода
void _backspace(caret_index: int) virtual 🔗
Переопределите этот метод, чтобы определить, что происходит, когда пользователь нажимает клавишу Backspace.
void _copy(caret_index: int) virtual 🔗
Переопределите этот метод, чтобы определить, что происходит, когда пользователь выполняет операцию копирования.
void _cut(caret_index: int) virtual 🔗
Переопределите этот метод, чтобы определить, что происходит, когда пользователь выполняет операцию вырезания.
void _handle_unicode_input(unicode_char: int, caret_index: int) virtual 🔗
Переопределите этот метод, чтобы определить, что произойдет, когда пользователь введет предоставленный ключ unicode_char.
void _paste(caret_index: int) virtual 🔗
Переопределите этот метод, чтобы определить, что происходит, когда пользователь выполняет операцию вставки.
void _paste_primary_clipboard(caret_index: int) virtual 🔗
Переопределите этот метод, чтобы определить, что происходит, когда пользователь выполняет операцию вставки с помощью средней кнопки мыши.
Примечание: Этот метод реализован только в Linux.
int add_caret(line: int, column: int) 🔗
Добавляет новый курсор в указанном месте. Возвращает индекс нового курсора или -1, если местоположение недействительно.
void add_caret_at_carets(below: bool) 🔗
Добавляет дополнительный каре выше или ниже каждого каретки. Если below равен true, то новый каре будет добавлен ниже и выше в противном случае.
void add_gutter(at: int = -1) 🔗
Зарегистрируйте новый желоб в этом TextEdit. Используйте at, чтобы задать определенный порядок желобов. Значение -1 добавляет желоб справа.
void add_selection_for_next_occurrence() 🔗
Добавляет выделение и курсор для следующего появления текущего выделения. Если активного выделения нет, выбирает слово под курсором.
void adjust_carets_after_edit(caret: int, from_line: int, from_col: int, to_line: int, to_col: int) 🔗
Устарело: No longer necessary since methods now adjust carets themselves.
Этот метод ничего не даёт.
void adjust_viewport_to_caret(caret_index: int = 0) 🔗
Отрегулируйте область просмотра так, чтобы курсор был виден.
void apply_ime() 🔗
Применяет текст из редактора методов ввода (IME) к каждому курсору и закрывает IME, если он открыт.
void backspace(caret_index: int = -1) 🔗
Вызывается, когда пользователь нажимает клавишу backspace. Может быть переопределено с помощью _backspace().
void begin_complex_operation() 🔗
Начинает многокомпонентное редактирование. Все правки будут рассматриваться как одно действие, пока не будет вызван end_complex_operation().
void begin_multicaret_edit() 🔗
Начинает редактирование для нескольких кареток. Редактирование должно быть завершено с помощью end_multicaret_edit(). Редактирование с несколькими каретками можно использовать для редактирования текста в нескольких каретках и отложить объединение кареток до конца, чтобы индексы кареток не были затронуты немедленно. begin_multicaret_edit() и end_multicaret_edit() могут быть вложенными, и объединение произойдет в последнем end_multicaret_edit().
begin_complex_operation()
begin_multicaret_edit()
for i in range(get_caret_count()):
if multicaret_edit_ignore_caret(i):
continue
# Logic here.
end_multicaret_edit()
end_complex_operation()
void cancel_ime() 🔗
Закрывает Редактор метода ввода (IME), если он открыт. Любой текст в IME будет потерян.
void center_viewport_to_caret(caret_index: int = 0) 🔗
Центрирует область просмотра на строке, на которой находится курсор редактирования. Это также сбрасывает значение scroll_horizontal на 0.
void clear() 🔗
Выполняет полный сброс TextEdit, включая историю отмен.
void clear_undo_history() 🔗
Очищает историю отмен.
void collapse_carets(from_line: int, from_column: int, to_line: int, to_column: int, inclusive: bool = false) 🔗
Свернуть все каретки в указанном диапазоне в позиции from_line и from_column.
inclusive применяется к обоим концам.
Если is_in_mulitcaret_edit() имеет значение true, свернутые каретки будут иметь значение true для multicaret_edit_ignore_caret().
merge_overlapping_carets() будет вызван, если какие-либо каретки были свернуты.
void copy(caret_index: int = -1) 🔗
Копирует текущее выделение текста. Может быть переопределено с помощью _copy().
void cut(caret_index: int = -1) 🔗
Cut — текущий выбор. Может быть переопределен с помощью _cut().
void delete_selection(caret_index: int = -1) 🔗
Удаляет выделенный текст.
void deselect(caret_index: int = -1) 🔗
Отменяет текущий выбор.
void end_action() 🔗
Отмечает конец шагов в текущем действии, начатом с помощью start_action().
void end_complex_operation() 🔗
Завершает многокомпонентное редактирование, начатое с помощью begin_complex_operation(). При вызове вне сложной операции текущая операция помещается в стек отмены/повтора.
void end_multicaret_edit() 🔗
Завершает редактирование для нескольких кареток, начатое с помощью begin_multicaret_edit(). Если это был последний end_multicaret_edit() и был вызван merge_overlapping_carets(), каретки будут объединены.
int get_caret_column(caret_index: int = 0) const 🔗
Возвращает столбец, в котором находится курсор редактирования.
Возвращает количество кареток в этом TextEdit.
Vector2 get_caret_draw_pos(caret_index: int = 0) const 🔗
Возвращает позицию отрисовки пикселя курсора.
PackedInt32Array get_caret_index_edit_order() 🔗
Устарело: Carets no longer need to be edited in any specific order. If the carets need to be sorted, use get_sorted_carets() instead.
Возвращает список индексов каретки в порядке их редактирования, это делается снизу вверх. Порядок редактирования относится к способу применения таких действий, как insert_text_at_caret().
int get_caret_line(caret_index: int = 0) const 🔗
Возвращает строку, на которой находится курсор редактирования.
int get_caret_wrap_index(caret_index: int = 0) const 🔗
Возвращает индекс переноса, на котором находится курсор редактирования.
int get_first_non_whitespace_column(line: int) const 🔗
Возвращает первый столбец, содержащий непробельный символ в указанной строке. Если есть только пробелы, возвращает количество символов.
int get_first_visible_line() const 🔗
Возвращает первую видимую строку.
int get_gutter_count() const 🔗
Возвращает количество зарегистрированных желобов.
String get_gutter_name(gutter: int) const 🔗
Возвращает имя желоба по указанному индексу.
GutterType get_gutter_type(gutter: int) const 🔗
Возвращает тип желоба (gutter) по указанному индексу. Жёлоба могут содержать значки, текст или пользовательские визуальные элементы.
int get_gutter_width(gutter: int) const 🔗
Возвращает имя желоба по указанному индексу.
HScrollBar get_h_scroll_bar() const 🔗
Возвращает HScrollBar, используемый TextEdit.
int get_indent_level(line: int) const 🔗
Возвращает уровень отступа указанной строки. Это количество пробелов и табуляции (tabs) в начале строки, при этом табуляция учитывает размер табуляции (см. get_tab_size()).
int get_last_full_visible_line() const 🔗
Возвращает последнюю видимую строку. Используйте get_last_full_visible_line_wrap_index() для индекса переноса.
int get_last_full_visible_line_wrap_index() const 🔗
Возвращает последний видимый индекс переноса последней видимой строки.
Возвращает последнюю нескрытую строку во всем TextEdit.
String get_line(line: int) const 🔗
Возвращает текст определенной строки.
Color get_line_background_color(line: int) const 🔗
Возвращает пользовательский цвет фона заданной строки. Если цвет не установлен, возвращает Color(0, 0, 0, 0).
Vector2i get_line_column_at_pos(position: Vector2i, clamp_line: bool = true, clamp_column: bool = true) const 🔗
Возвращает строку и столбец в указанной позиции. В возвращаемом векторе x — столбец, а y — строка.
Если clamp_line — false и position находится ниже последней строки, возвращается Vector2i(-1, -1).
Если clamp_column — false и position находится за пределами диапазона столбцов строки, возвращается Vector2i(-1, -1).
Возвращает количество строк в тексте.
Texture2D get_line_gutter_icon(line: int, gutter: int) const 🔗
Возвращает значок, который в данный момент находится в gutter в line. Это работает только в том случае, если типом gutter является GUTTER_TYPE_ICON (см. set_gutter_type()).
Color get_line_gutter_item_color(line: int, gutter: int) const 🔗
Возвращает текущий цвет в gutter в line.
Variant get_line_gutter_metadata(line: int, gutter: int) const 🔗
Возвращает метаданные, которые в данный момент находятся в gutter в line.
String get_line_gutter_text(line: int, gutter: int) const 🔗
Возвращает текст, который в данный момент находится в gutter в line. Это работает только в том случае, если типом gutter является GUTTER_TYPE_STRING (см. set_gutter_type()).
Возвращает максимальное значение высоты строки среди всех строк.
Примечание: На возвращаемое значение влияют line_spacing и font_size. И оно не будет меньше 1.
Array[Vector2i] get_line_ranges_from_carets(only_selections: bool = false, merge_adjacent: bool = true) const 🔗
Возвращает Array диапазонов строк, где x — первая строка, а y — последняя строка. Все строки в этих диапазонах будут иметь курсор или будут частью выделения. Каждая строка будет частью только одного диапазона строк, даже если на ней есть несколько курсоров.
Если конечный столбец выделения (get_selection_to_column()) находится в столбце 0, эта строка не будет включена. Если выделение начинается на строке после окончания другого выделения, а merge_adjacent — true, или они начинаются и заканчиваются на одной строке, один диапазон строк будет включать оба выделения.
int get_line_width(line: int, wrap_index: int = -1) const 🔗
Возвращает ширину в пикселях wrap_index в line.
String get_line_with_ime(line: int) const 🔗
Возвращает текст строки в том виде, в котором он отображается в данный момент, включая строку состава IME.
int get_line_wrap_count(line: int) const 🔗
Возвращает количество переносов заданной строки.
int get_line_wrap_index_at_column(line: int, column: int) const 🔗
Возвращает индекс переноса указанного столбца на указанной строке. Диапазон значений от 0 до get_line_wrap_count().
PackedStringArray get_line_wrapped_text(line: int) const 🔗
Возвращает массив String-ы, представляющий каждый обернутый индекс.
Vector2 get_local_mouse_pos() const 🔗
Возвращает локальное положение мыши, скорректированное с учетом направления текста.
Возвращает PopupMenu этого TextEdit. По умолчанию это меню отображается при щелчке правой кнопкой мыши по TextEdit.
Вы можете добавлять пользовательские пункты меню или удалять стандартные. Убедитесь, что ваши идентификаторы не конфликтуют со стандартными (см. MenuItems). Например:
func _ready():
var menu = get_menu()
# Удалить все элементы после "Redo".
menu.item_count = menu.get_item_index(MENU_REDO) + 1
# Добавить пользовательские элементы.
menu.add_separator()
menu.add_item("Insert Date", MENU_MAX + 1)
#Подключить обратный звонок.
menu.id_pressed.connect(_on_item_pressed)
func _on_item_pressed(id):
if id == MENU_MAX + 1:
insert_text_at_caret(Time.get_date_string_from_system())
public override void _Ready()
{
var menu = GetMenu();
// Удалить все элементы после "Redo".
menu.ItemCount = menu.GetItemIndex(TextEdit.MenuItems.Redo) + 1;
// Добавить пользовательские элементы.
menu.AddSeparator();
menu.AddItem("Insert Date", TextEdit.MenuItems.Max + 1);
// Подключить обратный звонок.
menu.IdPressed += OnItemPressed;
}
public void OnItemPressed(int id)
{
if (id == TextEdit.MenuItems.Max + 1)
{
InsertTextAtCaret(Time.GetDateStringFromSystem());
}
}
Предупреждение: Это обязательный внутренний узел, его удаление и освобождение может привести к сбою. Если вы хотите скрыть его или любого из его дочерних элементов, используйте их свойство Window.visible.
int get_minimap_line_at_pos(position: Vector2i) const 🔗
Возвращает эквивалентную строку миникарты в position.
int get_minimap_visible_lines() const 🔗
Возвращает количество линий, которые могут быть нарисованы на мини-карте.
int get_next_composite_character_column(line: int, column: int) const 🔗
Возвращает правильный столбец в конце составного символа, например ❤️🩹 (исцеляющее сердце; Unicode: U+2764 U+FE0F U+200D U+1FA79), который состоит из более чем одной кодовой точки Unicode, если каретка находится в начале составного символа. Также возвращает правильный столбец с кареткой в середине графемы и для несоставных символов.
Примечание: Для проверки местоположения каретки используйте get_next_composite_character_column(get_caret_line(), get_caret_column())
Vector2i get_next_visible_line_index_offset_from(line: int, wrap_index: int, visible_amount: int) const 🔗
Аналогично get_next_visible_line_offset_from(), но учитывает индексы переноса строк. В возвращаемом векторе x — строка, y — индекс переноса.
int get_next_visible_line_offset_from(line: int, visible_amount: int) const 🔗
Возвращает количество до следующей видимой строки от line до line + visible_amount. Также можно вести обратный отсчет. Например, если в TextEdit 5 строк, а строки 2 и 3 скрыты, вызов этого с line = 1, visible_amount = 1 вернет 3.
Vector2i get_pos_at_line_column(line: int, column: int) const 🔗
Возвращает локальную позицию для заданных line и column. Если x или y возвращаемого вектора равны -1, позиция находится за пределами видимой области элемента управления.
Примечание: Позиция Y соответствует нижней стороне линии. Используйте get_rect_at_line_column(), чтобы получить позицию верхней стороны.
int get_previous_composite_character_column(line: int, column: int) const 🔗
Возвращает правильный столбец в начале составного символа, например ❤️🩹 (исцеляющее сердце; Unicode: U+2764 U+FE0F U+200D U+1FA79), который состоит из более чем одной кодовой точки Unicode, если каретка находится в конце составного символа. Также возвращает правильный столбец с кареткой в середине графемы и для несоставных символов.
Примечание: Для проверки местоположения каретки используйте get_previous_composite_character_column(get_caret_line(), get_caret_column())
Rect2i get_rect_at_line_column(line: int, column: int) const 🔗
Возвращает локальную позицию и размер графемы в заданных line и column. Если позиция x или y возвращаемого прямоугольника равна -1, позиция находится за пределами видимой области элемента управления.
Примечание: Позиция Y возвращаемого прямоугольника соответствует верхней стороне строки, в отличие от get_pos_at_line_column(), который возвращает нижнюю сторону.
int get_saved_version() const 🔗
Возвращает последнюю сохраненную версию с тегом из tag_saved_version().
float get_scroll_pos_for_line(line: int, wrap_index: int = 0) const 🔗
Возвращает позицию прокрутки для wrap_index из line.
String get_selected_text(caret_index: int = -1) 🔗
Возвращает текст внутри выделения курсора или всех курсоров, если caret_index имеет значение по умолчанию -1.
int get_selection_at_line_column(line: int, column: int, include_edges: bool = true, only_selections: bool = true) const 🔗
Возвращает индекс каретки выделения в заданных line и column или -1, если его нет.
Если include_edges равно false, позиция должна быть внутри выделения, а не на каком-либо конце. Если only_selections равно false, каретки без выделения также будут учитываться.
int get_selection_column(caret_index: int = 0) const 🔗
Устарело: Use get_selection_origin_column() instead.
Возвращает исходный начальный столбец выборки.
int get_selection_from_column(caret_index: int = 0) const 🔗
Возвращает столбец начала выделения. Возвращает столбец каретки, если выделения нет.
int get_selection_from_line(caret_index: int = 0) const 🔗
Возвращает начальную строку выделения. Возвращает строку каретки, если выделения нет.
int get_selection_line(caret_index: int = 0) const 🔗
Устарело: Use get_selection_origin_line() instead.
Возвращает исходную начальную строку выделения.
SelectionMode get_selection_mode() const 🔗
Возвращает текущий режим выбора.
int get_selection_origin_column(caret_index: int = 0) const 🔗
Возвращает исходный столбец выделения. Это противоположный конец от каретки.
int get_selection_origin_line(caret_index: int = 0) const 🔗
Возвращает исходную линию выделения. Это противоположный конец от каретки.
int get_selection_to_column(caret_index: int = 0) const 🔗
Возвращает конечный столбец выделения. Возвращает столбец каретки, если выделения нет.
int get_selection_to_line(caret_index: int = 0) const 🔗
Возвращает конечную строку выделения. Возвращает строку каретки, если выделения нет.
PackedInt32Array get_sorted_carets(include_ignored_carets: bool = false) const 🔗
Возвращает каретки, отсортированные по выбору, начиная с самой низкой строки и столбца до самого высокого (сверху вниз текста).
Если include_ignored_carets равен false, каретки из multicaret_edit_ignore_caret() будут игнорироваться.
Возвращает размер табуляции TextEdit.
int get_total_gutter_width() const 🔗
Возвращает общую ширину всех промежутков и внутренних отступов.
int get_total_visible_line_count() const 🔗
Возвращает общее количество строк в тексте. Включает перенесенные строки и исключает свернутые строки. Если wrap_mode установлен в LINE_WRAPPING_NONE и ни одна строка не свернута (см. CodeEdit.is_line_folded()), то это эквивалентно get_line_count(). См. get_visible_line_count_in_range() для ограниченного диапазона строк.
VScrollBar get_v_scroll_bar() const 🔗
Возвращает VScrollBar для TextEdit.
Возвращает текущую версию TextEdit. Версия представляет собой количество записанных операций в истории отмен/повторов.
int get_visible_line_count() const 🔗
Возвращает количество визуально умещающихся строк, округленное в меньшую сторону, на основе высоты этого элемента управления.
int get_visible_line_count_in_range(from_line: int, to_line: int) const 🔗
Возвращает общее количество строк между from_line и to_line (включительно) в тексте. Это включает перенесенные строки и исключает свернутые строки. Если диапазон охватывает все строки, это эквивалентно get_total_visible_line_count().
String get_word_at_pos(position: Vector2) const 🔗
Возвращает слово (текст) в position.
String get_word_under_caret(caret_index: int = -1) const 🔗
Возвращает текст String со словом, находящимся под курсором.
Возвращает true, если у пользователя есть текст в редакторе метода ввода (IME).
Возвращает true, если доступно действие «повторить».
bool has_selection(caret_index: int = -1) const 🔗
Возвращает true, если пользователь выбрал текст.
Возвращает true, если доступно действие «отменить».
void insert_line_at(line: int, text: String) 🔗
Вставляет новую строку с text в line.
void insert_text(text: String, line: int, column: int, before_selection_begin: bool = true, before_selection_end: bool = false) 🔗
Вставляет text в line и column.
Если before_selection_begin имеет значение true, то каретки и выделения, начинающиеся с line и column, будут перемещены в конец вставленного текста вместе со всеми каретками после него.
Если before_selection_end имеет значение true, то выделения, заканчивающиеся на line и column, будут расширены до конца вставленного текста. Эти параметры можно использовать для вставки текста внутри или за пределами выделений.
void insert_text_at_caret(text: String, caret_index: int = -1) 🔗
Вставьте указанный текст в позицию курсора.
bool is_caret_after_selection_origin(caret_index: int = 0) const 🔗
Возвращает true, если курсор выделения находится после начала выделения. Это можно использовать для определения направления выделения.
bool is_caret_visible(caret_index: int = 0) const 🔗
Возвращает true, если курсор виден, false в противном случае. Курсор будет считаться скрытым, если он находится за пределами прокручиваемой области, когда прокрутка включена.
Примечание: is_caret_visible() не учитывает, что курсор находится вне экрана, если он все еще находится в прокручиваемой области. Он вернет true, даже если курсор находится вне экрана, пока он соответствует собственным условиям TextEdit для видимости. Это включает использование scroll_fit_content_width и scroll_fit_content_height, которые заставляют TextEdit расширяться за пределы области просмотра.
bool is_dragging_cursor() const 🔗
Возвращает true, если пользователь перетаскивает мышь для прокрутки, выбора или перетаскивания текста.
bool is_gutter_clickable(gutter: int) const 🔗
Возвращает true, если разделительная полоса по указанному индексу является кликабельной. См. set_gutter_clickable().
bool is_gutter_drawn(gutter: int) const 🔗
Возвращает true, если желоб по указанному индексу в данный момент отрисован. См. set_gutter_draw().
bool is_gutter_overwritable(gutter: int) const 🔗
Возвращает true, если желоб по указанному индексу перезаписываемый. См. set_gutter_overwritable().
bool is_in_mulitcaret_edit() const 🔗
Возвращает true, если был вызван begin_multicaret_edit(), а end_multicaret_edit() еще не был вызван.
bool is_line_gutter_clickable(line: int, gutter: int) const 🔗
Возвращает true, если разделительная полоса в указанном индексе на указанной строке является кликабельной. См. set_line_gutter_clickable().
bool is_line_wrapped(line: int) const 🔗
Возвращает, если заданная строка перенесена.
Возвращает true, если меню видимо. Используйте это вместо get_menu().visible для повышения производительности (чтобы избежать создания меню). См. get_menu().
bool is_mouse_over_selection(edges: bool, caret_index: int = -1) const 🔗
Возвращает true, если мышь находится над выделением. Если sides равно true, края считаются частью выделения.
bool is_overtype_mode_enabled() const 🔗
Возвращает true, если включен режим замены. См. set_overtype_mode_enabled().
Выполняет заданное действие, определенное в перечислении MenuItems.
void merge_gutters(from_line: int, to_line: int) 🔗
Объединить желоба из from_line в to_line. Будут скопированы только перезаписываемые желоба. См. set_gutter_overwritable().
void merge_overlapping_carets() 🔗
Объединяет все перекрывающиеся каретки. Отдает предпочтение самой новой каретке или каретке с выделением.
Если is_in_mulitcaret_edit() равно true, объединение будет поставлено в очередь на конец редактирования с несколькими каретками. См. begin_multicaret_edit() и end_multicaret_edit().
Примечание: Это вызывается не при изменении положения каретки, а после определенных действий, поэтому возможно попасть в состояние, когда каретки перекрываются.
bool multicaret_edit_ignore_caret(caret_index: int) const 🔗
Возвращает true, если заданный caret_index следует игнорировать как часть редактирования с несколькими каретками. См. begin_multicaret_edit() и end_multicaret_edit(). Каретки, которые следует игнорировать, — это те, которые были частью удаленного текста и, скорее всего, будут объединены в конце редактирования, или каретки, которые были добавлены во время редактирования.
Рекомендуется continue в цикле, итерирующем по нескольким кареткам, если каретка должна игнорироваться.
void paste(caret_index: int = -1) 🔗
Вставить в текущее местоположение. Можно переопределить с помощью _paste().
void paste_primary_clipboard(caret_index: int = -1) 🔗
Вставляет основной буфер обмена.
void redo() 🔗
Выполните операцию Вперёд.
void remove_caret(caret: int) 🔗
Удаляет указанный индекс каретки.
Примечание: Это может привести к корректировке всех остальных индексов каретки.
void remove_gutter(gutter: int) 🔗
Удаляет желоб по указанному индексу.
void remove_line_at(line: int, move_carets_down: bool = true) 🔗
Удаляет строку текста в line. Каретки на этой строке будут пытаться соответствовать своей предыдущей визуальной позиции x.
Если move_carets_down равен true, каретки переместятся на следующую строку вниз, в противном случае каретки переместятся вверх.
void remove_secondary_carets() 🔗
Удаляет все дополнительные каретки.
void remove_text(from_line: int, from_column: int, to_line: int, to_column: int) 🔗
Удаляет текст между указанными позициями.
Vector2i search(text: String, flags: int, from_line: int, from_column: int) const 🔗
Выполнить поиск внутри текста. Флаги поиска можно указать в перечислении SearchFlags.
В возвращаемом векторе x — столбец, y — строка. Если результаты не найдены, оба равны -1.
var result = search("print", SEARCH_WHOLE_WORDS, 0, 0)
if result.x != -1:
# Результат найден.
var line_number = result.y
var column_number = result.x
Vector2I result = Search("print", (uint)TextEdit.SearchFlags.WholeWords, 0, 0);
if (result.X != -1)
{
// Результат найден.
int lineNumber = result.Y;
int columnNumber = result.X;
}
void select(origin_line: int, origin_column: int, caret_line: int, caret_column: int, caret_index: int = 0) 🔗
Выбирает текст из origin_line и origin_column в caret_line и caret_column для заданного caret_index. Это перемещает начало выделения и каретку. Если позиции совпадают, выделение будет отменено.
Если selection_enabled равно false, выделение не произойдет.
Примечание: При поддержке нескольких кареток проверка на перекрытие не выполняется. См. merge_overlapping_carets().
void select_all() 🔗
Выделить весь текст.
Если selection_enabled равно false, выделение не произойдет.
void select_word_under_caret(caret_index: int = -1) 🔗
Выделяет слово под курсором.
void set_caret_column(column: int, adjust_viewport: bool = true, caret_index: int = 0) 🔗
Перемещает каретку на указанный индекс column.
Если adjust_viewport равен true, область просмотра будет центрирована в позиции каретки после перемещения.
Примечание: При поддержке нескольких кареток проверка на перекрытие не выполняется. См. merge_overlapping_carets().
void set_caret_line(line: int, adjust_viewport: bool = true, can_be_hidden: bool = true, wrap_index: int = 0, caret_index: int = 0) 🔗
Перемещает курсор на указанный индекс line. Столбец курсора будет перемещен в ту же визуальную позицию, в которой он находился при последнем вызове set_caret_column(), или закреплен в конце строки.
Если adjust_viewport имеет значение true, область просмотра будет центрирована в позиции курсора после перемещения.
Если can_be_hidden имеет значение true, указанная line может быть скрыта.
Если wrap_index имеет значение -1, столбец курсора будет закреплен по длине line. Если wrap_index больше -1, столбец будет перемещен, чтобы попытаться сопоставить визуальную позицию x на wrap_index строки с позицией с момента последнего вызова set_caret_column().
Примечание: При поддержке нескольких кареток проверка на перекрытие не производится. См. merge_overlapping_carets().
void set_gutter_clickable(gutter: int, clickable: bool) 🔗
Если true, курсор мыши изменится на указывающую руку (Control.CURSOR_POINTING_HAND) при наведении на желоб по указанному индексу. См. is_gutter_clickable() и set_line_gutter_clickable().
void set_gutter_custom_draw(column: int, draw_callback: Callable) 🔗
Установите пользовательский обратный вызов отрисовки для желоба по указанному индексу. draw_callback должен принимать следующие аргументы: индекс линии int, индекс желоба int и область Rect2. Этот обратный вызов работает только в том случае, если тип желоба — GUTTER_TYPE_CUSTOM (см. set_gutter_type()).
void set_gutter_draw(gutter: int, draw: bool) 🔗
Если true, то рисуется желоб по указанному индексу. Тип желоба (set_gutter_type()) определяет, как он рисуется. См. is_gutter_drawn().
void set_gutter_name(gutter: int, name: String) 🔗
Устанавливает имя желоба по указанному индексу.
void set_gutter_overwritable(gutter: int, overwritable: bool) 🔗
Если true, то данные строки желоба по указанному индексу могут быть переопределены при использовании merge_gutters(). См. is_gutter_overwritable().
void set_gutter_type(gutter: int, type: GutterType) 🔗
Устанавливает тип желоба (gutter) по указанному индексу. Жёлоба могут содержать значки, текст или пользовательские визуальные эффекты.
void set_gutter_width(gutter: int, width: int) 🔗
Установите ширину желоба по указанному индексу.
void set_line(line: int, new_text: String) 🔗
Устанавливает текст для определенной line.
Каретки на строке будут пытаться сохранить свою визуальную позицию x.
void set_line_as_center_visible(line: int, wrap_index: int = 0) 🔗
Размещает wrap_index параметра line в центре области просмотра.
void set_line_as_first_visible(line: int, wrap_index: int = 0) 🔗
Размещает wrap_index параметра line в верхней части области просмотра.
void set_line_as_last_visible(line: int, wrap_index: int = 0) 🔗
Размещает wrap_index параметра line в нижней части области просмотра.
void set_line_background_color(line: int, color: Color) 🔗
Устанавливает пользовательский цвет фона для данной строки. Если прозрачный, этот цвет применяется поверх цвета фона по умолчанию (см. background_color). Если установлено значение Color(0, 0, 0, 0), дополнительный цвет не применяется.
void set_line_gutter_clickable(line: int, gutter: int, clickable: bool) 🔗
Если clickable равен true, делает gutter на указанной line кликабельным. Это похоже на set_gutter_clickable(), но для одной строки. Если is_gutter_clickable() равен true, это не даст никакого эффекта. Смотрите is_line_gutter_clickable() и gutter_clicked.
void set_line_gutter_icon(line: int, gutter: int, icon: Texture2D) 🔗
Устанавливает значок для gutter на line на icon. Это работает только в том случае, если тип желоба — GUTTER_TYPE_ICON (см. set_gutter_type()).
void set_line_gutter_item_color(line: int, gutter: int, color: Color) 🔗
Устанавливает цвет для gutter в line на color.
void set_line_gutter_metadata(line: int, gutter: int, metadata: Variant) 🔗
Устанавливает метаданные для gutter в line на metadata.
void set_line_gutter_text(line: int, gutter: int, text: String) 🔗
Устанавливает текст для gutter на line на text. Это работает только в том случае, если типом gutter является GUTTER_TYPE_STRING (см. set_gutter_type()).
void set_overtype_mode_enabled(enabled: bool) 🔗
Если true, включает режим замены. В этом режиме ввод текста переопределяет существующий текст вместо вставки текста. Действие ProjectSettings.input/ui_text_toggle_insert_mode переключает режим замены. См. is_overtype_mode_enabled().
void set_search_flags(flags: int) 🔗
Устанавливает flags поиска. Используется с set_search_text() для выделения вхождений искомого текста. Флаги поиска можно указать из перечисления SearchFlags.
void set_search_text(search_text: String) 🔗
Устанавливает текст поиска. См. set_search_flags().
void set_selection_mode(mode: SelectionMode) 🔗
Устанавливает текущий режим выбора.
void set_selection_origin_column(column: int, caret_index: int = 0) 🔗
Устанавливает исходный столбец выбора в column для заданного caret_index. Если исходный столбец выбора перемещается в позицию каретки, выбор будет отменен.
void set_selection_origin_line(line: int, can_be_hidden: bool = true, wrap_index: int = -1, caret_index: int = 0) 🔗
Устанавливает исходную линию выделения на line для заданного caret_index. Если исходная линия выделения перемещается в позицию каретки, выделение будет отменено.
Если can_be_hidden равно false, строка будет установлена на ближайшую нескрытую строку ниже или выше.
Если wrap_index равно -1, столбец исходной линии выделения будет ограничен длиной line. Если wrap_index больше -1, столбец будет перемещен, чтобы попытаться сопоставить визуальную позицию x на wrap_index строки с позицией с момента последнего вызова set_selection_origin_column() или select().
void set_tab_size(size: int) 🔗
Устанавливает размер табуляции для TextEdit.
void set_tooltip_request_func(callback: Callable) 🔗
Предоставьте пользовательский текст подсказки. Метод обратного вызова должен принимать следующие аргументы: hovered_word: String.
void skip_selection_for_next_occurrence() 🔗
Перемещает выделение и курсор на следующее вхождение текущего выделения. Если активного выделения нет, перемещает на следующее вхождение слова под курсором.
void start_action(action: EditAction) 🔗
Начинает действие, завершит текущее действие, если action отличается.
Действие также завершится после вызова end_action(), после срабатывания ProjectSettings.gui/timers/text_edit_idle_detect_sec или нового отменяемого шага за пределами вызовов start_action() и end_action().
void swap_lines(from_line: int, to_line: int) 🔗
Меняет местами две строки. Каретки будут поменяны местами со строками.
void tag_saved_version() 🔗
Отметьте текущую версию как сохраненную.
void undo() 🔗
Выполните операцию Назад.
Описания свойств темы
Color background_color = Color(0, 0, 0, 0) 🔗
Устанавливает фоновый цвет Color этого TextEdit.
Color caret_background_color = Color(0, 0, 0, 1) 🔗
Color текста за кареткой при использовании блочной каретки.
Color caret_color = Color(0.875, 0.875, 0.875, 1) 🔗
Color каретки. Можно установить полностью прозрачный цвет, чтобы полностью скрыть каретку.
Color current_line_color = Color(0.25, 0.25, 0.26, 0.8) 🔗
Фон Color строки, содержащей курсор.
Color font_color = Color(0.875, 0.875, 0.875, 1) 🔗
Устанавливает шрифт Color.
Color font_outline_color = Color(0, 0, 0, 1) 🔗
Оттенок контура текста TextEdit.
Color font_placeholder_color = Color(0.875, 0.875, 0.875, 0.6) 🔗
Цвет шрифта для placeholder_text.
Color font_readonly_color = Color(0.875, 0.875, 0.875, 0.5) 🔗
Устанавливает шрифт Color, когда editable отключен.
Color font_selected_color = Color(0, 0, 0, 0) 🔗
Устанавливает Color выделенного текста. Если равно Color(0, 0, 0, 0), то будет проигнорирован.
Color search_result_border_color = Color(0.3, 0.3, 0.3, 0.4) 🔗
Color границы вокруг текста, соответствующего поисковому запросу.
Color search_result_color = Color(0.3, 0.3, 0.3, 1) 🔗
Color позади текста, соответствующего поисковому запросу.
Color selection_color = Color(0.5, 0.5, 0.5, 1) 🔗
Устанавливает цвет подсветки Color выделенного текста.
Color word_highlighted_color = Color(0.5, 0.5, 0.5, 0.25) 🔗
Устанавливает выделение Color нескольких вхождений. highlight_all_occurrences должен быть включен.
Ширина каретки в пикселях. Большие значения можно использовать для улучшения доступности, обеспечивая легкую видимость каретки или для обеспечения согласованности с большим размером шрифта. Если установлено значение 0 или ниже, ширина каретки автоматически устанавливается на 1 пиксель и умножается на коэффициент масштабирования дисплея.
Дополнительный вертикальный интервал между строками (в пикселях), интервал добавляется к спуску строки. Это значение может быть отрицательным.
Размер контура текста.
Примечание: При использовании шрифта с включенным FontFile.multichannel_signed_distance_field его FontFile.msdf_pixel_range должен быть установлен как минимум в дважды значения outline_size, чтобы контур выглядел правильно. В противном случае контур может оказаться обрезанным раньше, чем предполагалось.
Sets an additional margin for line wrapping width.
Устанавливает Font по умолчанию.
Устанавливает размер шрифта по умолчанию.
Устанавливает пользовательскую Texture2D для символов пробельного текста.
Устанавливает пользовательскую Texture2D для символов текста табуляции.
Устанавливает StyleBox, когда находится в фокусе. Theme_item focus StyleBox отображается над базовым StyleBox, поэтому следует использовать частично прозрачный StyleBox, чтобы базовый StyleBox оставался видимым. StyleBox, представляющий контур или подчеркивание, хорошо подходит для этой цели. Чтобы отключить визуальный эффект фокуса, назначьте ресурс StyleBoxEmpty. Обратите внимание, что отключение визуального эффекта фокуса навредит удобству использования навигации с помощью клавиатуры/контроллера, поэтому это не рекомендуется по соображениям доступности.
Устанавливает StyleBox этого TextEdit.
Устанавливает StyleBox этого TextEdit, когда editable отключен.