Attention: Here be dragons
This is the latest
(unstable) version of this documentation, which may document features
not available in or compatible with released stable versions of Godot.
Checking the stable version of the documentation...
CodeEdit
Наследует: TextEdit < Control < CanvasItem < Node < Object
Многострочный текстовый редактор, предназначенный для редактирования кода.
Описание
CodeEdit — это специализированный TextEdit, разработанный для редактирования файлов с простым текстовым кодом. Он обладает множеством функций, обычно встречающихся в редакторах кода, таких как номера строк, перенос строк, автодополнение кода, управление отступами и управление строками/комментариями.
Примечание: Независимо от локали, CodeEdit по умолчанию всегда будет использовать направление текста слева направо для правильного отображения исходного кода.
Свойства
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
layout_direction |
|
|
|
||
|
||
|
||
|
||
text_direction |
|
Методы
Свойства темы
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
Сигналы
breakpoint_toggled(line: int) 🔗
Вызывается при добавлении или удалении точки останова из строки. Если строка удаляется с помощью backspace, сигнал выдается на старой строке.
code_completion_requested() 🔗
Выдается, когда пользователь запрашивает автодополнение кода. Этот сигнал не будет отправлен, если _request_code_completion() переопределен или code_completion_enabled равен false.
symbol_hovered(symbol: String, line: int, column: int) 🔗
Выдается, когда пользователь наводит курсор на символ. В отличие от Control.mouse_entered, этот сигнал выдается не сразу, а когда курсор находится над символом в течение ProjectSettings.gui/timers/tooltip_delay_sec секунд.
Примечание: symbol_tooltip_on_hover должен быть true для выдачи этого сигнала.
symbol_lookup(symbol: String, line: int, column: int) 🔗
Генерируется, когда пользователь нажимает на допустимый символ.
symbol_validate(symbol: String) 🔗
Вызывается, когда пользователь наводит курсор на символ. Символ должен быть проверен и на него должен быть дан ответ, вызвав set_symbol_lookup_word_as_valid().
Примечание: symbol_lookup_on_click должен быть true для выдачи этого сигнала.
Перечисления
enum CodeCompletionKind: 🔗
CodeCompletionKind KIND_CLASS = 0
Отмечает опцию как класс.
CodeCompletionKind KIND_FUNCTION = 1
Отмечает опцию как функцию.
CodeCompletionKind KIND_SIGNAL = 2
Отмечает опцию как сигнал Годо.
CodeCompletionKind KIND_VARIABLE = 3
Отмечает опцию как переменную.
CodeCompletionKind KIND_MEMBER = 4
Отмечает вариант как член.
CodeCompletionKind KIND_ENUM = 5
Отмечает параметр как запись перечисления.
CodeCompletionKind KIND_CONSTANT = 6
Отмечает опцию как константу.
CodeCompletionKind KIND_NODE_PATH = 7
Отмечает опцию как путь к узлу Godot.
CodeCompletionKind KIND_FILE_PATH = 8
Отмечает опцию как путь к файлу.
CodeCompletionKind KIND_PLAIN_TEXT = 9
Отмечает параметр как неклассифицированный или как обычный текст.
CodeCompletionKind KIND_KEYWORD = 10
Помечает параметр как ключевое слово.
enum CodeCompletionLocation: 🔗
CodeCompletionLocation LOCATION_LOCAL = 0
Параметр является локальным по отношению к местоположению запроса на автодополнение кода - например, локальной переменной. Последующее значение местоположения представляет параметры из внешнего класса, точное значение представляет, насколько они далеки (с точки зрения внутренних классов).
CodeCompletionLocation LOCATION_PARENT_MASK = 256
Опция из содержащего класса или родительского класса относительно расположения запроса на автодополнение кода. Выполните побитовое ИЛИ с глубиной класса (например, 0 для локального класса, 1 для родительского, 2 для прародительского и т. д.), чтобы сохранить глубину опции в классе или родительском классе.
CodeCompletionLocation LOCATION_OTHER_USER_CODE = 512
Опция взята из пользовательского кода, который не является локальным и не находится в производном классе (например, Autoload Singletons).
CodeCompletionLocation LOCATION_OTHER = 1024
Опция взята из другого кода движка, не охваченного другими константами перечисления, например, встроенными классами.
Описания свойств
bool auto_brace_completion_enabled = false 🔗
Если true, использует auto_brace_completion_pairs для автоматической вставки закрывающей скобки, когда открывающая скобка вставляется при вводе или автодополнении. Также автоматически удаляет закрывающую скобку при использовании backspace на открывающей скобке.
bool auto_brace_completion_highlight_matching = false 🔗
Если true, выделяет пары фигурных скобок, когда курсор находится на одной из них, используя auto_brace_completion_pairs. Если пары совпадают, они будут подчеркнуты. Если фигурная скобка не совпадает, она окрашивается в brace_mismatch_color.
Dictionary auto_brace_completion_pairs = { "\"": "\"", "'": "'", "(": ")", "[": "]", "{": "}" } 🔗
void set_auto_brace_completion_pairs(value: Dictionary)
Dictionary get_auto_brace_completion_pairs()
Устанавливает пары фигурных скобок для автозаполнения. Для каждой записи в словаре ключом является открывающая фигурная скобка, а значением — закрывающая фигурная скобка, которая ей соответствует. Фигурная скобка — это Строка, состоящая из символов. См. auto_brace_completion_enabled и auto_brace_completion_highlight_matching.
bool code_completion_enabled = false 🔗
Если true, действие ProjectSettings.input/ui_text_completion_query запрашивает автодополнение кода. Чтобы справиться с этим, см. _request_code_completion() или code_completion_requested.
Array[String] code_completion_prefixes = [] 🔗
Устанавливает префиксы, которые будут запускать автодополнение кода.
Array[String] delimiter_comments = [] 🔗
Устанавливает разделители комментариев. Все существующие разделители комментариев будут удалены.
Array[String] delimiter_strings = ["' '", "\" \""] 🔗
Устанавливает разделители строк. Все существующие разделители строк будут удалены.
bool gutters_draw_bookmarks = false 🔗
Если true, закладки рисуются в желобе. Этот желоб используется совместно с точками останова и исполняемыми строками. См. set_line_as_bookmarked().
bool gutters_draw_breakpoints_gutter = false 🔗
Если true, точки останова рисуются в желобе. Этот желоб используется совместно с закладками и выполняемыми строками. Щелчок по желобу переключит точку останова для строки, см. set_line_as_breakpoint().
bool gutters_draw_executing_lines = false 🔗
Если true, то исполняемые строки отмечаются в желобе. Этот желоб используется совместно с точками останова и закладками. См. set_line_as_executing().
bool gutters_draw_fold_gutter = false 🔗
Если true, рисуется желоб сгиба. В этом желобе значок can_fold_code_region рисуется для каждой сгибаемой линии (см. can_fold_line()), а значок folded_code_region рисуется для каждой сгибаемой линии (см. is_line_folded()). Эти значки можно щелкнуть, чтобы переключить состояние сгиба, см. toggle_foldable_line(). line_folding должен быть true для отображения значков.
bool gutters_draw_line_numbers = false 🔗
Если true, рисуется разделитель номеров строк. Номера строк начинаются с 1 и увеличиваются для каждой строки текста. Щелчок и перетаскивание разделителя номеров строк выделит целые строки текста.
int gutters_line_numbers_min_digits = 3 🔗
Минимальная ширина в цифрах, зарезервированная для промежутка между номерами строк.
bool gutters_zero_pad_line_numbers = false 🔗
Если true, номера строк, нарисованные в желобе, дополняются нулями на основе общего количества строк. Требует, чтобы gutters_draw_line_numbers был установлен на true.
bool indent_automatic = false 🔗
Если true, дополнительный отступ автоматически вставляется при добавлении новой строки и нахождении префикса в indent_automatic_prefixes. Если найден открывающий ключ пары фигурных скобок, соответствующая закрывающая фигурная скобка будет перемещена на другую новую строку (см. auto_brace_completion_pairs).
Array[String] indent_automatic_prefixes = [":", "{", "[", "("] 🔗
Префиксы для автоматического отступа. Используется, когда indent_automatic установлен в true.
Размер отступа табуляции (одно нажатие Tab) в символах. Если включено indent_use_spaces, то количество используемых пробелов.
bool indent_use_spaces = false 🔗
Для отступов используйте пробелы вместо табуляции.
Если true, линии могут быть свернуты. В противном случае методы сворачивания линий, такие как fold_line(), не будут работать, а can_fold_line() всегда будет возвращать false. См. gutters_draw_fold_gutter.
Array[int] line_length_guidelines = [] 🔗
Рисует вертикальные линии в предоставленных столбцах. Первая запись считается основной жесткой направляющей и рисуется более заметно.
bool symbol_lookup_on_click = false 🔗
Устанавливается при щелчке по проверенному слову из symbol_validate, должен быть выдан symbol_lookup.
bool symbol_tooltip_on_hover = false 🔗
Если true, то при наведении курсора на слово подается сигнал symbol_hovered.
Описания метода
void _confirm_code_completion(replace: bool) virtual 🔗
Переопределить этот метод, чтобы определить, как следует вставлять выбранную запись. Если replace равен true, любой существующий текст должен быть заменен.
Array[Dictionary] _filter_code_completion_candidates(candidates: Array[Dictionary]) virtual const 🔗
Переопределите этот метод, чтобы определить, какие элементы в candidates должны отображаться.
Как candidates, так и возвращаемый объект представляют собой Array из Dictionary. Содержимое Dictionary см. в get_code_completion_option().
void _request_code_completion(force: bool) virtual 🔗
Переопределите этот метод, чтобы определить, что произойдет, когда пользователь запрашивает завершение кода. Если force равен true, любые проверки следует обойти.
void add_auto_brace_completion_pair(start_key: String, end_key: String) 🔗
Добавляет пару скобок.
Начальный и конечный ключи должны быть символами. Только начальный ключ должен быть уникальным.
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) 🔗
Отправляет элемент в очередь потенциальных кандидатов для меню автозаполнения. Вызовите update_code_completion_options(), чтобы обновить список.
location указывает расположение параметра относительно местоположения запроса на завершение кода. См. CodeCompletionLocation, чтобы узнать, как задать это значение.
Примечание: Этот список заменит всех текущих кандидатов.
void add_comment_delimiter(start_key: String, end_key: String, line_only: bool = false) 🔗
Добавляет разделитель комментариев от start_key до end_key. Оба ключа должны быть символами, и start_key не должен использоваться совместно с другими разделителями.
Если line_only — это true или end_key — это пустая String, область не переносится на следующую строку.
void add_string_delimiter(start_key: String, end_key: String, line_only: bool = false) 🔗
Определяет разделитель строк от start_key до end_key. Оба ключа должны быть символами, и start_key не должен использоваться совместно с другими разделителями.
Если line_only — true, или end_key — это пустая String, область не переносится на следующую строку.
bool can_fold_line(line: int) const 🔗
Возвращает true, если заданная строка является сворачиваемой. Строка является сворачиваемой, если она является началом допустимой области кода (см. get_code_region_start_tag()), если она является началом комментария или блока строки, или если следующая непустая строка имеет больший отступ (см. TextEdit.get_indent_level()).
void cancel_code_completion() 🔗
Отменяет меню автозаполнения.
void clear_bookmarked_lines() 🔗
Очищает все отмеченные строки.
void clear_breakpointed_lines() 🔗
Очистить все линии точек останова.
void clear_comment_delimiters() 🔗
Удаляет все разделители комментариев.
void clear_executing_lines() 🔗
Очищает все выполненные строки.
void clear_string_delimiters() 🔗
Удаляет все разделители строк.
void confirm_code_completion(replace: bool = false) 🔗
Вставляет выбранную запись в текст. Если replace равен true, любой существующий текст заменяется, а не объединяется.
void convert_indent(from_line: int = -1, to_line: int = -1) 🔗
Преобразует отступы строк между from_line и to_line в табуляции или пробелы, как установлено indent_use_spaces.
Значения -1 преобразуют весь текст.
void create_code_region() 🔗
Создает новую область кода с выбранным фрагментом. Необходимо определить хотя бы один разделитель комментариев в одну строку (см. add_comment_delimiter()).
Область кода — это часть кода, которая выделяется при сворачивании и может помочь организовать ваш скрипт.
Начальные и конечные теги области кода можно настроить (см. set_code_region_tags()).
Области кода разделяются с помощью начальных и конечных тегов (соответственно region и endregion по умолчанию), которым предшествует разделитель комментариев в одну строку. (например, #region и #endregion)
void delete_lines() 🔗
Удаляет все выделенные строки или строки, на которых установлен курсор.
void do_indent() 🔗
Если выделения нет, отступ вставляется в каретку. В противном случае выбранные строки отступают как indent_lines(). Эквивалентно действию ProjectSettings.input/ui_text_indent. Используемые символы отступа зависят от indent_use_spaces и indent_size.
void duplicate_lines() 🔗
Дублирует все строки, выбранные в данный момент с любым курсором. Дублирует всю строку под текущей, независимо от того, где в строке находится курсор.
void duplicate_selection() 🔗
Дублирует весь выделенный текст и все строки, на которых установлен курсор.
void fold_all_lines() 🔗
Складывает все линии, которые можно сложить (см. can_fold_line()).
Складывает заданную строку, если это возможно (см. can_fold_line()).
String get_auto_brace_completion_close_key(open_key: String) const 🔗
Получает соответствующий ключ закрытия автоматической скобки для open_key.
PackedInt32Array get_bookmarked_lines() const 🔗
Получает все отмеченные закладками строки.
PackedInt32Array get_breakpointed_lines() const 🔗
Получает все контрольные точки строк.
Dictionary get_code_completion_option(index: int) const 🔗
Получает параметр завершения в index. Возвращаемый Словарь имеет следующие ключевые значения:
kind: CodeCompletionKind
display_text: Текст, отображаемый в меню автозаполнения.
insert_text: Текст, который должен быть вставлен при выборе этого элемента.
font_color: Цвет текста в меню автозаполнения.
icon: Значок для рисования в меню автозаполнения.
default_value: Значение символа.
Array[Dictionary] get_code_completion_options() const 🔗
Получает все параметры завершения, см. get_code_completion_option() для получения информации о возвращаемом содержимом.
int get_code_completion_selected_index() const 🔗
Получает индекс текущего выбранного варианта завершения.
String get_code_region_end_tag() const 🔗
Возвращает конечный тег региона кода (без разделителя комментариев).
String get_code_region_start_tag() const 🔗
Возвращает начальный тег региона кода (без разделителя комментариев).
String get_delimiter_end_key(delimiter_index: int) const 🔗
Получает конечный ключ для индекса строки или области комментариев.
Vector2 get_delimiter_end_position(line: int, column: int) const 🔗
Если line column находится в строке или комментарии, возвращает конечную позицию региона. Если нет или конец не найден, оба значения Vector2 будут -1.
String get_delimiter_start_key(delimiter_index: int) const 🔗
Получает начальный ключ для индекса строки или области комментариев.
Vector2 get_delimiter_start_position(line: int, column: int) const 🔗
Если line column находится в строке или комментарии, возвращает начальную позицию региона. Если нет или начало не найдено, оба значения Vector2 будут -1.
PackedInt32Array get_executing_lines() const 🔗
Получает все исполняемые строки.
Array[int] get_folded_lines() const 🔗
Возвращает все строки, которые в данный момент свернуты.
String get_text_for_code_completion() const 🔗
Возвращает полный текст с символом 0xFFFF в позиции курсора.
String get_text_for_symbol_lookup() const 🔗
Возвращает полный текст с символом 0xFFFF в позиции курсора.
String get_text_with_cursor_char(line: int, column: int) const 🔗
Возвращает полный текст с символом 0xFFFF в указанном месте.
bool has_auto_brace_completion_close_key(close_key: String) const 🔗
Возвращает true, если существует ключ закрытия close_key.
bool has_auto_brace_completion_open_key(open_key: String) const 🔗
Возвращает true, если существует открытый ключ open_key.
bool has_comment_delimiter(start_key: String) const 🔗
Возвращает true, если существует комментарий start_key.
bool has_string_delimiter(start_key: String) const 🔗
Возвращает true, если строка start_key существует.
void indent_lines() 🔗
Делает отступы во всех строках, которые выбраны или на которых есть курсор. Использует пробелы или табуляцию в зависимости от indent_use_spaces. См. unindent_lines().
int is_in_comment(line: int, column: int = -1) const 🔗
Возвращает индекс разделителя, если line column находится в комментарии. Если column не указан, вернет индекс разделителя, если вся line является комментарием. В противном случае -1.
int is_in_string(line: int, column: int = -1) const 🔗
Возвращает индекс разделителя, если line column находится в строке. Если column не указан, вернет индекс разделителя, если вся line является строкой. В противном случае -1.
bool is_line_bookmarked(line: int) const 🔗
Возвращает true, если данная строка добавлена в закладки. См. set_line_as_bookmarked().
bool is_line_breakpointed(line: int) const 🔗
Возвращает true, если заданная строка имеет точку останова. См. set_line_as_breakpoint().
bool is_line_code_region_end(line: int) const 🔗
Возвращает true, если заданная строка является концом области кода. См. set_code_region_tags().
bool is_line_code_region_start(line: int) const 🔗
Возвращает true, если заданная строка является началом области кода. См. set_code_region_tags().
bool is_line_executing(line: int) const 🔗
Возвращает true, если заданная строка отмечена как исполняемая. См. set_line_as_executing().
bool is_line_folded(line: int) const 🔗
Возвращает true, если заданная строка свернута. См. fold_line().
void join_lines(line_ending: String = " ") 🔗
Объединяет все выделенные строки или строки, содержащие символ "^", со следующей строкой. Пробелы между ними будут удалены. Если следующая строка содержит контент, между ними будет вставлен параметр line_ending.
void move_lines_down() 🔗
Перемещает вниз все выделенные или имеющие курсор строки.
void move_lines_up() 🔗
Перемещает вверх все выделенные или отмеченные курсором строки.
void remove_comment_delimiter(start_key: String) 🔗
Удаляет разделитель комментариев с помощью start_key.
void remove_string_delimiter(start_key: String) 🔗
Удаляет разделитель строки с помощью start_key.
void request_code_completion(force: bool = false) 🔗
Выдает code_completion_requested, если force равен true, то все проверки будут пропущены. В противном случае будет проверяться, находится ли каретка в слове или перед префиксом. Будет игнорировать запрос, если все текущие параметры имеют тип file path, node path или signal.
void set_code_completion_selected_index(index: int) 🔗
Устанавливает текущий выбранный вариант завершения.
void set_code_hint(code_hint: String) 🔗
Задает текст подсказки кода. Передайте пустую строку для очистки.
void set_code_hint_draw_below(draw_below: bool) 🔗
Если true, подсказка кода будет нарисована под основным курсором. Если false, подсказка кода будет нарисована над основным курсором. См. set_code_hint().
void set_code_region_tags(start: String = "region", end: String = "endregion") 🔗
Устанавливает начальный и конечный теги области кода (без разделителя комментариев).
void set_line_as_bookmarked(line: int, bookmarked: bool) 🔗
Устанавливает заданную строку как закладку. Если true и gutters_draw_bookmarks равно true, рисует значок bookmark в желобе для этой строки. См. get_bookmarked_lines() и is_line_bookmarked().
void set_line_as_breakpoint(line: int, breakpointed: bool) 🔗
Устанавливает заданную строку как точку останова. Если true и gutters_draw_breakpoints_gutter равно true, рисует значок breakpoint в желобе для этой строки. См. get_breakpointed_lines() и is_line_breakpointed().
void set_line_as_executing(line: int, executing: bool) 🔗
Устанавливает заданную строку как исполняемую. Если true и gutters_draw_executing_lines равно true, рисует значок executing_line в желобе для этой строки. См. get_executing_lines() и is_line_executing().
void set_symbol_lookup_word_as_valid(valid: bool) 🔗
Устанавливает символ, выданный symbol_validate, как допустимый поиск.
void toggle_foldable_line(line: int) 🔗
Переключить сворачивание блока кода на указанной строке.
void toggle_foldable_lines_at_carets() 🔗
Включает/выключает сворачивание блока кода на всех строках, на которых установлена каретка.
void unfold_all_lines() 🔗
Разворачивает все сложенные строки.
Разворачивает заданную линию, если она сложена или скрыта под сложенной линией.
void unindent_lines() 🔗
Удаляет отступы всех выбранных или отмеченных курсором строк. Использует пробелы или табуляцию в зависимости от indent_use_spaces. Эквивалентно действию ProjectSettings.input/ui_text_dedent. См. indent_lines().
void update_code_completion_options(force: bool) 🔗
Отправляет все варианты завершения, добавленные с помощью add_code_completion_option(). Попытается принудительно открыть меню автозаполнения, если force равен true.
Примечание: Это заменит всех текущих кандидатов.
Описания свойств темы
Color bookmark_color = Color(0.5, 0.64, 1, 0.8) 🔗
Color значка закладки для строк, отмеченных закладками.
Color brace_mismatch_color = Color(1, 0.2, 0.2, 1) 🔗
Color текста для выделения несовпадающих скобок.
Color breakpoint_color = Color(0.9, 0.29, 0.3, 1) 🔗
Color значка точки останова для строк, отмеченных закладками.
Color code_folding_color = Color(0.8, 0.8, 0.8, 0.8) 🔗
Color для всех значков, связанных с переносом строк.
Color completion_background_color = Color(0.17, 0.16, 0.2, 1) 🔗
Устанавливает фон Color для всплывающего окна автодополнения кода.
Color completion_existing_color = Color(0.87, 0.87, 0.87, 0.13) 🔗
Подсветка фона Цвет для сопоставления текста в параметрах автодополнения кода.
Color completion_scroll_color = Color(1, 1, 1, 0.29) 🔗
Цвет полосы прокрутки во всплывающем окне автодополнения кода.
Color completion_scroll_hovered_color = Color(1, 1, 1, 0.4) 🔗
Цвет полосы прокрутки во всплывающем окне автодополнения кода при наведении курсора.
Color completion_selected_color = Color(0.26, 0.26, 0.27, 1) 🔗
Подсветка фона Цвет для текущего выбранного элемента опции во всплывающем окне автодополнения кода.
Color executing_line_color = Color(0.98, 0.89, 0.27, 1) 🔗
Цвет значка выполнения для выполнения линий.
Color folded_code_region_color = Color(0.68, 0.46, 0.77, 0.2) 🔗
Цвет подсветки фоновой линии для области свернутого кода.
Color line_length_guideline_color = Color(0.3, 0.5, 0.8, 0.1) 🔗
Цвет основной направляющей длины линии, для второстепенных направляющих будет применено значение альфа 50%.
Color line_number_color = Color(0.67, 0.67, 0.67, 0.4) 🔗
Устанавливает Цвет номеров строк.
Максимальное количество вариантов, отображаемых во всплывающем окне автодополнения кода одновременно.
int completion_max_width = 50 🔗
Максимальная ширина опций во всплывающем окне автодополнения кода. Опции длиннее будут обрезаны.
int completion_scroll_width = 6 🔗
Ширина полосы прокрутки во всплывающем окне автодополнения кода.
Устанавливает пользовательскую Texture2D для рисования в области закладок для строк, отмеченных закладками.
Устанавливает пользовательскую Texture2D для рисования в контрольных точек области для контрольных точек линий.
Устанавливает пользовательскую Texture2D для рисования в области сгиба линии, когда линию можно согнуть.
Texture2D can_fold_code_region 🔗
Устанавливает пользовательскую Texture2D для отрисовки в области сгиба строк, когда область кода может быть свернута.
Texture2D completion_color_bg 🔗
Фоновая панель для окна предварительного просмотра цвета в автодополнении (видима, когда цвет полупрозрачен).
Значок для рисования в области выполнения линий выполнения.
Устанавливает пользовательскую Texture2D для отрисовки в области сгиба линии, когда линия сложена и может быть развернута.
Texture2D folded_code_region 🔗
Устанавливает пользовательскую Texture2D для отрисовки в области сгиба строк, когда область кода свернута и может быть развернута.
Устанавливает пользовательскую Texture2D для рисования в конце сложенной линии.
StyleBox для всплывающего окна автодополнения кода.