CodeEdit
Hereda: TextEdit < Control < CanvasItem < Node < Object
Un editor de texto multilínea diseñado para editar código.
Descripción
CodeEdit es un TextEdit especializado, diseñado para editar archivos de código de texto plano. Cuenta con muchas características comunes en los editores de código, como números de línea, plegado de líneas, autocompletado de código, gestión de la sangría y gestión de strings/comentarios.
Nota: Independientemente de la configuración regional, CodeEdit por defecto siempre usará la dirección de texto de izquierda a derecha para mostrar correctamente el código fuente.
Propiedades
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
layout_direction |
|
|
|
||
|
||
|
||
|
||
text_direction |
|
Métodos
Propiedades del Tema
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
Señales
breakpoint_toggled(line: int) 🔗
Emitida cuando se añade o elimina un punto de interrupción de una línea. Si la línea se elimina con la tecla de retroceso, se emite una señal en la línea antigua.
code_completion_requested() 🔗
Emitida cuando el usuario solicita el completado de código. Esta señal no se enviará si se sobrescribe _request_code_completion() o si code_completion_enabled es false.
symbol_hovered(symbol: String, line: int, column: int) 🔗
Emitida cuando el usuario pasa el cursor sobre un símbolo. A diferencia de Control.mouse_entered, esta señal no se emite inmediatamente, sino cuando el cursor está sobre el símbolo durante ProjectSettings.gui/timers/tooltip_delay_sec segundos.
Nota: symbol_tooltip_on_hover debe ser true para que esta señal se emita.
symbol_lookup(symbol: String, line: int, column: int) 🔗
Emitida cuando el usuario ha hecho clic en un símbolo válido.
symbol_validate(symbol: String) 🔗
Emitida cuando el usuario pasa el cursor sobre un símbolo. El símbolo debe ser validado y se debe responder a él, llamando a set_symbol_lookup_word_as_valid().
Nota: symbol_lookup_on_click debe ser true para que esta señal se emita.
Enumeraciones
enum CodeCompletionKind: 🔗
CodeCompletionKind KIND_CLASS = 0
Marca la opción como una clase.
CodeCompletionKind KIND_FUNCTION = 1
Marca la opción como una función.
CodeCompletionKind KIND_SIGNAL = 2
Marca la opción como una señal de Godot.
CodeCompletionKind KIND_VARIABLE = 3
Marca la opción como una variable.
CodeCompletionKind KIND_MEMBER = 4
Marca la opción como un miembro.
CodeCompletionKind KIND_ENUM = 5
Marca la opción como una entrada de enum.
CodeCompletionKind KIND_CONSTANT = 6
Marca la opción como una constante.
CodeCompletionKind KIND_NODE_PATH = 7
Marca la opción como una ruta de nodo de Godot.
CodeCompletionKind KIND_FILE_PATH = 8
Marca la opción como una ruta de archivo.
CodeCompletionKind KIND_PLAIN_TEXT = 9
Marca la opción como no clasificada o texto plano.
enum CodeCompletionLocation: 🔗
CodeCompletionLocation LOCATION_LOCAL = 0
La opción es local a la ubicación de la consulta de completado de código (p. ej., una variable local). Los valores subsecuentes de la ubicación representan opciones de la clase externa, el valor exacto representa cuán lejos están (en términos de clases internas).
CodeCompletionLocation LOCATION_PARENT_MASK = 256
La opción es de la clase contenedora o una clase padre, relativa a la ubicación de la consulta de completado de código. Realiza un OR a nivel de bits con la profundidad de la clase (p. ej., 0 para la clase local, 1 para la padre, 2 para la abuela, etc.) para almacenar la profundidad de una opción en la clase o en una clase padre.
CodeCompletionLocation LOCATION_OTHER_USER_CODE = 512
La opción es de código de usuario que no es local y no está en una clase derivada (p. ej., Autoload Singletons).
CodeCompletionLocation LOCATION_OTHER = 1024
La opción es de otro código del motor, no cubierto por las otras constantes del enum (p. ej., clases incorporadas).
Descripciones de Propiedades
bool auto_brace_completion_enabled = false 🔗
Si es true, utiliza auto_brace_completion_pairs para insertar automáticamente la llave de cierre cuando la llave de apertura se inserta escribiendo o mediante autocompletado. También elimina automáticamente la llave de cierre al usar la tecla de retroceso en la llave de apertura.
bool auto_brace_completion_highlight_matching = false 🔗
Si es true, resalta los pares de llaves cuando el cursor está en uno de ellos, utilizando auto_brace_completion_pairs. Si coinciden, los pares se subrayarán. Si una llave no coincide, se colorea con brace_mismatch_color.
Dictionary auto_brace_completion_pairs = { "\"": "\"", "'": "'", "(": ")", "[": "]", "{": "}" } 🔗
void set_auto_brace_completion_pairs(value: Dictionary)
Dictionary get_auto_brace_completion_pairs()
Establece los pares de llaves que se autocompletarán. Para cada entrada en el diccionario, la clave es la llave de apertura y el valor es la llave de cierre que coincide con ella. Una llave es una String hecha de símbolos. Véase auto_brace_completion_enabled y auto_brace_completion_highlight_matching.
bool code_completion_enabled = false 🔗
Si es true, la acción ProjectSettings.input/ui_text_completion_query solicita la finalización del código. Para manejarlo, véase _request_code_completion() o code_completion_requested.
Array[String] code_completion_prefixes = [] 🔗
Establece los prefijos que activarán el autocompletado de código.
Array[String] delimiter_comments = [] 🔗
Establece los delimitadores de comentarios. Se eliminarán todos los delimitadores de comentarios existentes.
Array[String] delimiter_strings = ["' '", "\" \""] 🔗
Establece los delimitadores de string. Se eliminarán todos los delimitadores de string existentes.
bool gutters_draw_bookmarks = false 🔗
If true, bookmarks are drawn in the gutter. This gutter is shared with breakpoints and executing lines. See set_line_as_bookmarked().
bool gutters_draw_breakpoints_gutter = false 🔗
If true, breakpoints are drawn in the gutter. This gutter is shared with bookmarks and executing lines. Clicking the gutter will toggle the breakpoint for the line, see set_line_as_breakpoint().
bool gutters_draw_executing_lines = false 🔗
If true, executing lines are marked in the gutter. This gutter is shared with breakpoints and bookmarks. See set_line_as_executing().
bool gutters_draw_fold_gutter = false 🔗
If true, the fold gutter is drawn. In this gutter, the can_fold_code_region icon is drawn for each foldable line (see can_fold_line()) and the folded_code_region icon is drawn for each folded line (see is_line_folded()). These icons can be clicked to toggle the fold state, see toggle_foldable_line(). line_folding must be true to show icons.
bool gutters_draw_line_numbers = false 🔗
If true, the line number gutter is drawn. Line numbers start at 1 and are incremented for each line of text. Clicking and dragging in the line number gutter will select entire lines of text.
int gutters_line_numbers_min_digits = 3 🔗
The minimum width in digits reserved for the line number gutter.
bool gutters_zero_pad_line_numbers = false 🔗
If true, line numbers drawn in the gutter are zero padded based on the total line count. Requires gutters_draw_line_numbers to be set to true.
bool indent_automatic = false 🔗
Si es true, se inserta una indentación adicional automáticamente cuando se añade una nueva línea y se encuentra un prefijo en indent_automatic_prefixes. Si se encuentra una clave de apertura de un par de llaves, la llave de cierre correspondiente se moverá a otra línea nueva (véase auto_brace_completion_pairs).
Array[String] indent_automatic_prefixes = [":", "{", "[", "("] 🔗
Prefijos para activar una indentación automática. Se utiliza cuando indent_automatic se establece en true.
Tamaño de la indentación de tabulación (una pulsación de Tab) en caracteres. Si indent_use_spaces está habilitado, es el número de espacios a utilizar.
bool indent_use_spaces = false 🔗
Usa espacios en lugar de tabulaciones para la indentación.
Si es true, las líneas pueden ser plegadas. De lo contrario, los métodos de plegado de líneas como fold_line() no funcionarán y can_fold_line() siempre devolverá false. Véase gutters_draw_fold_gutter.
Array[int] line_length_guidelines = [] 🔗
Dibuja líneas verticales en las columnas proporcionadas. La primera entrada se considera una guía principal y se dibuja de forma más prominente.
bool symbol_lookup_on_click = false 🔗
Controla si se debe emitir la señal symbol_lookup al hacer clic en una palabra validada de symbol_validate.
bool symbol_tooltip_on_hover = false 🔗
Si es true, la señal symbol_hovered se emite al pasar el cursor sobre una palabra.
Descripciones de Métodos
void _confirm_code_completion(replace: bool) virtual 🔗
Sobrescribe este método para definir cómo se debe insertar la entrada seleccionada. Si replace es true, se debe reemplazar cualquier texto existente.
Array[Dictionary] _filter_code_completion_candidates(candidates: Array[Dictionary]) virtual const 🔗
Override this method to define what items in candidates should be displayed.
Both candidates and the return is an Array of Dictionary, see get_code_completion_option() for Dictionary content.
void _request_code_completion(force: bool) virtual 🔗
Override this method to define what happens when the user requests code completion. If force is true, any checks should be bypassed.
void add_auto_brace_completion_pair(start_key: String, end_key: String) 🔗
Añade un par de llaves.
Tanto la clave de inicio como la de fin deben ser símbolos. Solo la clave de inicio tiene que ser única.
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) 🔗
Envía un elemento a la cola de posibles candidatos para el menú de completado automático. Llama a update_code_completion_options() para actualizar la lista.
location indica la ubicación de la opción en relación con la ubicación de la consulta de completado automático de código. Véase CodeCompletionLocation para saber cómo establecer este valor.
Nota: Esta lista reemplazará a todos los candidatos actuales.
void add_comment_delimiter(start_key: String, end_key: String, line_only: bool = false) 🔗
Añade un delimitador de comentario desde start_key hasta end_key. Ambas claves deben ser símbolos, y start_key no debe compartirse con otros delimitadores.
Si line_only es true o end_key es una String vacía, la región no se extiende a la siguiente línea.
void add_string_delimiter(start_key: String, end_key: String, line_only: bool = false) 🔗
Define un delimitador de string desde start_key hasta end_key. Ambas claves deben ser símbolos, y start_key no debe compartirse con otros delimitadores.
Si line_only es true o end_key es una String vacía, la región no se extiende a la siguiente línea.
bool can_fold_line(line: int) const 🔗
Devuelve true si la línea dada se puede plegar. Una línea se puede plegar si es el inicio de una región de código válida (ver get_code_region_start_tag()), si es el inicio de un comentario o bloque de string, o si la siguiente línea no vacía está más indentada (ver TextEdit.get_indent_level()).
void cancel_code_completion() 🔗
Cancela el menú de completado automático.
void clear_bookmarked_lines() 🔗
Borra todas las líneas con marcadores.
void clear_breakpointed_lines() 🔗
Limpia todas las líneas con puntos de interrupción.
void clear_comment_delimiters() 🔗
Elimina todos los delimitadores de comentarios.
void clear_executing_lines() 🔗
Limpia todas las líneas ejecutadas.
void clear_string_delimiters() 🔗
Elimina todos los delimitadores de strings.
void confirm_code_completion(replace: bool = false) 🔗
Inserta la entrada seleccionada en el texto. Si replace es true, cualquier texto existente se reemplaza en lugar de fusionarse.
void convert_indent(from_line: int = -1, to_line: int = -1) 🔗
Convierte las indentaciones de las líneas entre from_line y to_line a tabulaciones o espacios según lo establecido por indent_use_spaces.
Los valores de -1 convierten todo el texto.
void create_code_region() 🔗
Crea una nueva región de código con la selección. Se debe definir al menos un delimitador de comentario de una sola línea (véase add_comment_delimiter()).
Una región de código es una parte del código que se resalta cuando se pliega y puede ayudar a organizar tu script.
Las etiquetas de inicio y fin de la región de código se pueden personalizar (ver set_code_region_tags()).
Las regiones de código se delimitan mediante etiquetas de inicio y fin (respectivamente region y endregion por defecto) precedidas por un delimitador de comentario de una línea. (ej. #region y #endregion)
void delete_lines() 🔗
Elimina todas las líneas que están seleccionadas o que tienen un cursor sobre ellas.
void do_indent() 🔗
Si no hay selección, se inserta una indentación en el cursor. De lo contrario, las líneas seleccionadas se indentan como indent_lines(). Equivalente a la acción ProjectSettings.input/ui_text_indent. Los caracteres de indentación utilizados dependen de indent_use_spaces y indent_size.
void duplicate_lines() 🔗
Duplica todas las líneas seleccionadas actualmente con cualquier cursor. Duplica toda la línea debajo de la actual, sin importar dónde se encuentre el cursor dentro de la línea.
void duplicate_selection() 🔗
Duplica todo el texto seleccionado y duplica todas las líneas que tengan un cursor sobre ellas.
void fold_all_lines() 🔗
Pliega todas las líneas que se pueden plegar (véase can_fold_line()).
Pliega la línea dada, si es posible (véase can_fold_line()).
String get_auto_brace_completion_close_key(open_key: String) const 🔗
Obtiene la llave de cierre automático de corchete coincidente para open_key.
PackedInt32Array get_bookmarked_lines() const 🔗
Obtiene todas las líneas con marcadores.
PackedInt32Array get_breakpointed_lines() const 🔗
Obtiene todas las líneas con puntos de interrupción.
Dictionary get_code_completion_option(index: int) const 🔗
Gets the completion option at index. The return Dictionary has the following key-values:
kind: CodeCompletionKind
display_text: Text that is shown on the autocomplete menu.
insert_text: Text that is to be inserted when this item is selected.
font_color: Color of the text on the autocomplete menu.
icon: Icon to draw on the autocomplete menu.
default_value: Value of the symbol.
Array[Dictionary] get_code_completion_options() const 🔗
Obtiene todas las opciones de completado automático, véase get_code_completion_option() para el contenido devuelto.
int get_code_completion_selected_index() const 🔗
Obtiene el índice de la opción de completado automático seleccionada.
String get_code_region_end_tag() const 🔗
Devuelve la etiqueta final de la región de código (sin delimitador de comentario).
String get_code_region_start_tag() const 🔗
Devuelve la etiqueta de inicio de la región de código (sin delimitador de comentario).
String get_delimiter_end_key(delimiter_index: int) const 🔗
Obtiene la clave final para un índice de región de string o comentario.
Vector2 get_delimiter_end_position(line: int, column: int) const 🔗
Si line column está en una string o comentario, devuelve la posición final de la región. Si no, o no se pudo encontrar un final, ambos valores de Vector2 serán -1.
String get_delimiter_start_key(delimiter_index: int) const 🔗
Obtiene la clave de inicio para un índice de región de string o comentario.
Vector2 get_delimiter_start_position(line: int, column: int) const 🔗
Si line column está en una string o comentario, devuelve la posición inicial de la región. Si no, o no se pudo encontrar un inicio, ambos valores de Vector2 serán -1.
PackedInt32Array get_executing_lines() const 🔗
Obtiene todas las líneas en ejecución.
Array[int] get_folded_lines() const 🔗
Devuelve todas las líneas que están actualmente plegadas.
String get_text_for_code_completion() const 🔗
Devuelve el texto completo con el carácter 0xFFFF en la ubicación del cursor.
String get_text_for_symbol_lookup() const 🔗
Devuelve el texto completo con el carácter 0xFFFF en la ubicación del cursor.
String get_text_with_cursor_char(line: int, column: int) const 🔗
Devuelve el texto completo con el carácter 0xFFFF en la ubicación especificada.
bool has_auto_brace_completion_close_key(close_key: String) const 🔗
Devuelve true si la clave de cierre close_key existe.
bool has_auto_brace_completion_open_key(open_key: String) const 🔗
Devuelve true si la clave de apertura open_key existe.
bool has_comment_delimiter(start_key: String) const 🔗
Devuelve true si el comentario start_key existe.
bool has_string_delimiter(start_key: String) const 🔗
Devuelve true si la string start_key existe.
void indent_lines() 🔗
Sangra todas las líneas seleccionadas o que tienen un cursor. Usa espacios o una tabulación según indent_use_spaces. Véase unindent_lines().
int is_in_comment(line: int, column: int = -1) const 🔗
Devuelve el índice del delimitador si line column está en un comentario. Si no se proporciona column, devolverá el índice del delimitador si toda la line es un comentario. De lo contrario, devuelve -1.
int is_in_string(line: int, column: int = -1) const 🔗
Devuelve el índice del delimitador si line column está en una string. Si no se proporciona column, devolverá el índice del delimitador si toda la line es una string. De lo contrario, devuelve -1.
bool is_line_bookmarked(line: int) const 🔗
Devuelve true si la línea dada tiene un marcador. Véase set_line_as_bookmarked().
bool is_line_breakpointed(line: int) const 🔗
Devuelve true si la línea dada tiene un punto de interrupción. Véase set_line_as_breakpoint().
bool is_line_code_region_end(line: int) const 🔗
Devuelve true si la línea dada es el final de una región de código. Véase set_code_region_tags().
bool is_line_code_region_start(line: int) const 🔗
Devuelve true si la línea dada es el inicio de una región de código. Véase set_code_region_tags().
bool is_line_executing(line: int) const 🔗
Devuelve true si la línea dada está marcada como en ejecución. Véase set_line_as_executing().
bool is_line_folded(line: int) const 🔗
Devuelve true si la línea dada está plegada. Véase fold_line().
void move_lines_down() 🔗
Mueve hacia abajo todas las líneas que estén seleccionadas o que tengan un cursor sobre ellas.
void move_lines_up() 🔗
Mueve hacia arriba todas las líneas que estén seleccionadas o que tengan un cursor sobre ellas.
void remove_comment_delimiter(start_key: String) 🔗
Elimina el delimitador de comentario con start_key.
void remove_string_delimiter(start_key: String) 🔗
Elimina el delimitador de string con start_key.
void request_code_completion(force: bool = false) 🔗
Emite code_completion_requested, si force es true se omitirán todas las comprobaciones. De lo contrario, comprobará que el cursor está en una palabra o delante de un prefijo. Ignorará la petición si todas las opciones actuales son de tipo ruta de archivo, ruta de nodo o señal.
void set_code_completion_selected_index(index: int) 🔗
Establece la opción de finalización seleccionada actualmente.
void set_code_hint(code_hint: String) 🔗
Establece el texto de sugerencia de código. Pasa una string vacía para borrarlo.
void set_code_hint_draw_below(draw_below: bool) 🔗
Si es true, la sugerencia de código se dibujará debajo del cursor principal. Si es false, la sugerencia de código se dibujará encima del cursor principal. Véase set_code_hint().
void set_code_region_tags(start: String = "region", end: String = "endregion") 🔗
Establece las etiquetas de inicio y fin de la región de código (sin delimitador de comentario).
void set_line_as_bookmarked(line: int, bookmarked: bool) 🔗
Establece la línea dada como marcada. Si es true y gutters_draw_bookmarks es true, dibuja el icono bookmark en el medianil para esta línea. Véase get_bookmarked_lines() y is_line_bookmarked().
void set_line_as_breakpoint(line: int, breakpointed: bool) 🔗
Establece la línea dada como un punto de interrupción. Si es true y gutters_draw_breakpoints_gutter es true, dibuja el icono breakpoint en el medianil para esta línea. Véase get_breakpointed_lines() y is_line_breakpointed().
void set_line_as_executing(line: int, executing: bool) 🔗
Establece la línea dada como en ejecución. Si es true y gutters_draw_executing_lines es true, dibuja el icono executing_line en el medianil para esta línea. Véase get_executing_lines() e is_line_executing().
void set_symbol_lookup_word_as_valid(valid: bool) 🔗
Establece el símbolo emitido por symbol_validate como una búsqueda válida.
void toggle_foldable_line(line: int) 🔗
Cambia el plegado del bloque de código en la línea dada.
void toggle_foldable_lines_at_carets() 🔗
Alterna el plegado del bloque de código en todas las líneas que tienen un cursor sobre ellas.
void unfold_all_lines() 🔗
Despliega todas las líneas que están plegadas.
Despliega la línea dada si está plegada o si está oculta bajo una línea plegada.
void unindent_lines() 🔗
Elimina la indentación de todas las líneas que están seleccionadas o tienen un cursor sobre ellas. Utiliza espacios o una tabulación dependiendo de indent_use_spaces. Equivalente a la acción ProjectSettings.input/ui_text_dedent. Véase indent_lines().
void update_code_completion_options(force: bool) 🔗
Envía todas las opciones de completado añadidas con add_code_completion_option(). Intentará forzar la aparición del menú de autocompletado, si force es true.
Nota: Esto reemplazará todos los candidatos actuales.
Descripciones de las propiedades del tema
Color bookmark_color = Color(0.5, 0.64, 1, 0.8) 🔗
Color del icono de marcador para líneas con marcadores.
Color brace_mismatch_color = Color(1, 0.2, 0.2, 1) 🔗
Color del texto para resaltar las llaves no coincidentes.
Color breakpoint_color = Color(0.9, 0.29, 0.3, 1) 🔗
Color del icono de punto de interrupción para líneas marcadas.
Color code_folding_color = Color(0.8, 0.8, 0.8, 0.8) 🔗
Color para todos los iconos relacionados con el plegado de líneas.
Color completion_background_color = Color(0.17, 0.16, 0.2, 1) 🔗
Establece Color del fondo para el popup de finalización de código.
Color completion_existing_color = Color(0.87, 0.87, 0.87, 0.13) 🔗
Color de resaltado de fondo para el texto coincidente en las opciones de completado automático de código.
Color completion_scroll_color = Color(1, 1, 1, 0.29) 🔗
Color de la barra de desplazamiento en el popup de completado automático de código.
Color completion_scroll_hovered_color = Color(1, 1, 1, 0.4) 🔗
Color de la barra de desplazamiento en el popup de completado automático de código al pasar el cursor por encima.
Color completion_selected_color = Color(0.26, 0.26, 0.27, 1) 🔗
Color de resaltado de fondo para el elemento de opción actualmente seleccionado en el popup de completado automático de código.
Color executing_line_color = Color(0.98, 0.89, 0.27, 1) 🔗
Color del icono de ejecución para ejecutar líneas.
Color folded_code_region_color = Color(0.68, 0.46, 0.77, 0.2) 🔗
Color del resaltado de línea de fondo para la región de código plegada.
Color line_length_guideline_color = Color(0.3, 0.5, 0.8, 0.1) 🔗
Color de la guía principal de longitud de línea, a las guías secundarias se les aplicará un 50% de alfa.
Color line_number_color = Color(0.67, 0.67, 0.67, 0.4) 🔗
Establece el Color de los números de línea.
Número máximo de opciones a mostrar en el popup de completado automático de código en cualquier momento.
int completion_max_width = 50 🔗
Ancho máximo de las opciones en el popup de completado automático de código. Las opciones más largas que esto serán recortadas.
int completion_scroll_width = 6 🔗
Ancho de la barra de desplazamiento en el popup de completado automático de código.
Sets a custom Texture2D to draw in the bookmark gutter for bookmarked lines.
Sets a custom Texture2D to draw in the breakpoint gutter for breakpointed lines.
Sets a custom Texture2D to draw in the line folding gutter when a line can be folded.
Texture2D can_fold_code_region 🔗
Sets a custom Texture2D to draw in the line folding gutter when a code region can be folded.
Texture2D completion_color_bg 🔗
Panel de fondo para el cuadro de vista previa de color en el completado automático (visible cuando el color es translúcido).
Icon to draw in the executing gutter for executing lines.
Sets a custom Texture2D to draw in the line folding gutter when a line is folded and can be unfolded.
Texture2D folded_code_region 🔗
Sets a custom Texture2D to draw in the line folding gutter when a code region is folded and can be unfolded.
Establece una Texture2D personalizada para dibujar al final de una línea plegada.
StyleBox para el popup de finalización de código.