Tabla de Contenidos

El editor de código

El editor de Xailer está diseñado para hacer más rápido y más cómodo el trabajo rutinario con el código fuente y ofrece una numerosa lista de características avanzadas.

General

Se incluyen varias características que lo hacen un editor potente, versátil y sencillo de usar. Entre otras, se pueden destacar:

Apariencia

Entre las características visuales y

Resalte de sintaxis

El editor de código determinar automáticamente el esquema de sintaxis para los lenguajes xBase, C/C++, archivos de recursos (RC), archivos de configuración (INI), archivos de proceso por lotes (BAT), archivos make (MAK y MK), archivos HTML/XML y DIFF.

La siguiente captura muestra el resaltado en un fuente que contiene sintaxis xBase y C.

Desde el menú Herramientas→Opciones del editor→Sintaxis es posible definir los colores, tipos, tamaños y efectos de letra que se deseen para personalizar el aspecto de las palabras reservadas, comentarios, números, operadores, etc.

Folding

El folding o plegado de código nos dá la posibilidad de ocultar y mostrar selectivamente secciones de código mientras lo editamos, nos ofrece más facilidad para manejar archivos grandes y nos permite tener una mejor visión del contenido, haciendo más fácil la concentración en una parte relevante del código mientras se trabaja.

Tenemos la posibilidad de activarlo/desactivarlo con la opción Herramientas→Opciones del editor→Apariencia.

Algunos aspectos avanzados del folding pueden configurarse utilizando algunas entradas del archivo de configuración de Xailer. Ver sección Configuracion.avanzada

Marcas de edición

Las marcas de edición en los márgenes son indicadores visuales de los últimos cambios realizados en el código fuente y permiten localizar rápidamente qué cambios se han hecho y si han sido guardados o no.

En la imagen de ejemplo se aprecian dos marcas de edición: la primera, en color verde, indica que se ha añadido la definición de un nuevo método y el cambio ya ha sido guardado y la segunda, en color rojo, indica que se ha añadido un nuevo método pero aún no se ha guardado.

Bookmarks

Los bookmarks sirven para establecer marcas en puntos específicos del código y nos permiten movernos entre ellas rápidamente.

Con la opción del menú Edición→Marcas→Ver marcas, se pueden gestionar de un modo centralizado todas las marcas existentes en un proyecto: se puede navegar entre ellas, filtrarlas por módulo, eliminar una o todas, sin necesidad de tener que recorrer todos los archivos del proyecto.

Tanto los marcadores de código, “bookmarks”, como los puntos de ruptura se graban junto al proyecto para poder utilizarlos en diferentes sesiones de trabajo.

Abreviaturas

Las abreviaturas o plantillas de código simplifican en gran medida la escritura del código ya que permiten insertar secciones de código con sólo pulsar un atajo de teclado.

En la imagen puede verse el resultado de una abreviatura definida como:

METHOD |() CLASS T<MODULE_SHORTNAME>
RETURN

Esta abreviatura está asociada al texto “me” y al pulsar CTRL+B, el editor automáticamente expande el texto, inserta el contenido de la abreviatura y coloca el cursor de edición en la posición indicada por el carácter pipe “|”.

En el menú Herramientas→Opciones del editor→Abreviaturas se pueden encontrar algunas abreviaturas predefinidas y hacer el mantenimiento de las mismas.

Las abreviaturas soportan macros que son reemplazadas por sus valores correspondientes en tiempo de ejecución.

Además de las macros se pueden utilizar macro-variables interactivas para obtener valores que luego se insertarán durante la expansión. Por ejemplo:

METHOD <%VAR:Nombre del método%>() CLASS T<MODULE_SHORTNAME>\n\n|\nRETURN Nil

Al hacer la expansión de la anterior abreviatura, el editor detecta que se está utilizando una macro-variable y automáticamente aparecerá un formulario solicitando el valor de <%VAR%>.

Suponiendo que se ha introducido “MiMetodo”, la expansión quedará de la siguiente manera:

METHOD MiMetodo() CLASS TClass

RETURN Nil

El número de variables soportadas es de diez y su sintáxis es la siguiente:

<%VARn:texto opcional%>

“VARn” indica el número de variable (VAR0 hasta VAR9) y la cadena “texto opcional” define el texto (separado por el signo “:”) que se muestra al usuario durante la petición del valor de la variable.

También se soporta <%VAR%> como sinónimo de <%VAR0%>.

Calltips

Las calltips son pequeñas ventanas que muestran los parámetros que recibe una función o procedimiento y sirven como guía de ayuda para introducir correctamente los argumentos.

Para activar o desactivar el uso de calltips, ver sección Configuracion.avanzada

Búsqueda y reemplazo de texto

Además de las funciones estándar de búsqueda y reemplazo, tanto con cadenas como con expresiones regulares, se tiene disponible un historial de búsquedas con el que es posible repetir varias veces una búsqueda sin tener que reescribirla una y otra vez.

Otra característica avanzada es el marcado de código, que permite marcar en color todas las ocurrencias de una cadena en el documento activo para una rápida localización visual.

Del mismo modo, para deshacer el marcado en la imagen anterior, sólo es necesario dejar en blanco el campo “Buscar” y pulsar el botón “Marcar todo”.

Parentesis

El editor resalta los paréntesis cuando el cursor está posicionado junto a uno de ellos y automáticamente resalta su par, de esta manera es fácil comprobar si una expresión es correcta.

Del mismo modo, cuando un paréntesis no tiene su par, el resaltado se hace en un color diferente, lo que permite localizar rápidamente errores de escritura.

El resaltado de paréntesis incluye los paréntesis (), llaves {}, corchetes [] y los paréntesis angulares <>.

Completado de parentesis

Esta opción permite que el editor automáticamente inserte el paréntesis de cierre cada vez que se introduzca uno de apertura.

Así, en caso de introducir una sentencia como “MyFunction(”, el editor automáticamente le añadirá el paréntesis de cierre y colocará el cursor en medio de ambos.

El completado de paréntesis incluye los paréntesis (), llaves {}, corchetes [] y los paréntesis angulares <>.

Para activar o desactivar el auto completado de paréntesis, ver sección Configuracion.avanzada
El autocompletado de paréntesis es incompatible con las calltips, aunque pueden desactivarse las calltips y forzar su aparición con Ctrl+Shift+Espacio cuando sea necesario.

Pestañas de documentos

Las pestañas del editor permiten la navegación entre los diferentes módulos que componen el proyecto de una manera sencilla.

Selección de texto

El editor de código soporta la forma tradicional de selección de texto, tanto con el teclado (MAYUS+CURSOR) como con el ratón, y añade un modo extendido que soporta la selección de columnas de texto.

Para activar el modo de selección de columnas sólo hay que pulsar ALT mientras se selecciona el texto con el ratón.

Historial del portapapeles

En todo momento tenemos disponible un historial con todo lo que se ha copiado al portapapeles, de modo que podemos ver qué código ha sido copiado/cortado y también podemos recuperarlo para volver a utilizarlo si lo necesitamos.

Barra de estado

La barra de estado muestra información sobre la línea y columna actual, el estado de inserción/sobreescritura y un topo de color verde o rojo que indica si el documento activo ha sufrido algún cambio desde la última vez que se ha guardado.

Haciendo click en el panel que muestra la línea y columna actual se muestra el diálogo “Ir a línea”

Impresión

El editor permite seleccionar un amplio abanico de posibilidades que permite desde una sencilla impresión monocolor hasta una salida completamente WYSIWYG, respetando la configuración establecida en el resaltado de código, números de línea, etc.

Desde el menú Archivo se contemplan las opciones estándar de impresión, configuración de página y vista previa.

img

Aparte de las opciones comunes de impresión, también se pueden personalizar las unidades de medida, colores, ajuste de línea, encabezado y pie de página, numeración de líneas y marco de página con la opción Herramientas→Opciones del editor→Impresión.

img

Configuración avanzada

Hay algunas opciones de configuración del editor de código que por ser poco usadas, poco dadas a sufrir cambios o están en fase de mejoras, aún no son accesibles desde el entorno y deben establecerse a través de entradas en el archivo de configuración Xailer.cfg

Recuerde hacer una copia de seguridad del archivo Xailer.cfg antes de manipularlo. El uso inadecuado del mismo puede resultar en la pérdida de toda la información de configuración del entorno.
Sección [OPTIONS]

AskQuit=.T./.F.: Establece si se desea que el IDE pida confirmación antes de cerrarlo.

Sección [EDITOR]

ViewWhiteSpace=0, 1: Muestra los espacios en blanco como invisibles o como puntos.

FoldPreprocessor=.T.: Activa/desactiva el folding para las directivas del preprocesador, por ejemplo en bloques #ifdef..#endif

FoldPragma=.T.: Activa/desactiva el folding para la directiva #pragma BEGINDUMP..ENDDUMP

FoldCpp=.T.: Activa/desactiva el folding para las llaves, {}, en los fuentes en C

FoldComment=.T.: Activa/desactiva el folding para los bloques de comentarios

FoldStyle=0, 1, 2, 3: Establece el tipo de marca visual para el folding

CompleteBraces=.F.: Activa/desactiva el autocompletado de paréntesis

Calltips=.T.: Activa/desactiva las calltips. En caso de estar desactivadas puede forzarse su aparición con Ctrl+Shift+Espacio