Xailer Wiki

El entorno de desarrollo definitivo en Xbase

Herramientas de usuario

Herramientas del sitio


codeeditor

Diferencias

Muestra las diferencias entre dos versiones de la página.

Enlace a la vista de comparación

Ambos lados, revisión anteriorRevisión previa
Próxima revisión
Revisión previa
codeeditor [2009/11/30 16:26] jlalincodeeditor [2022/02/07 17:03] (actual) – editor externo 127.0.0.1
Línea 1: Línea 1:
 +====== 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:
 +
 +  * Interfaz múltiple de documento (MDI) basado en pestañas
 +  * Configuración del entorno de trabajo
 +  * Adaptación dinámica al lenguaje de programación usado
 +  * Soporte de diversos tipos de codificación
 +  * Multiples niveles deshacer y rehacer
 +  * Posibilidad de deshacer cambios después de salvar
 +  * Eliminación de espacios sobrantes al salvar
 +  * Soporte completo para la rueda del ratón
 +  * Plegado de código (folding)
 +  * Soporte para arrastrar & soltar (Drag&Drop) archivos
 +  * Minimizar a la bandeja del sistema
 +  * Registro de cambios externos al documento y aviso de recarga
 +  * Ayuda sensible al contexto tanto del IDE como de la GUI
 +
 +===== Apariencia =====
 +
 +Entre las características visuales y 
 +
 +    * Numerado de líneas
 +    * Indicador de líneas que han sufrido cambios
 +    * Indicador del ancho de la página
 +    * Resaltado de la línea actual
 +    * Separadores de la estructura
 +    * Mostrar espacios en blanco
 +
 +===== 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.
 +
 +{{:syntax.png|}}
 +
 +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.
 +
 +{{:folding.png|}}
 +
 +Tenemos la posibilidad de activarlo/desactivarlo con la opción Herramientas->Opciones del editor->Apariencia.
 +
 +<note tip>Algunos aspectos avanzados del folding pueden configurarse utilizando algunas entradas del archivo de configuración de Xailer. Ver sección [[codeeditor#Configuracion.avanzada]]</note>
 +
 +===== 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.
 +
 +{{:editmarks.png|}}
 +
 +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.
 +
 +{{:bookmarks.png|}}
 +
 +<note>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.</note>
 +
 +===== 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.
 +
 +{{:codetemplate.png|}}
 +
 +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.
 +
 +  * <PROJECT_NAME>:             Nombre del proyecto
 +  * <PROJECT_COMPANY>:          Empresa propietaria del proyecto
 +  * <PROJECT_COPYRIGHT>:        Copyright
 +  * <PROJECT_TRADEMARKS>:       Marca registrada
 +  * <PROJECT_DESCRIPTION>:      Descripcion del proyecto
 +  * <PROJECT_COMMENTS>:         Anotaciones
 +  * <MODULE_NAME>:              Nombre del módulo activo en el editor
 +  * <MODULE_SHORTNAME>:         Nombre corto del módulo activo en el editor
 +  * <DATE>:                     Fecha actual
 +  * <TIME>:                     Hora
 +  * <%VAR%>/<%VAR0%> hasta <%VAR9%>:
 +
 +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:
 +
 +<code>
 +METHOD MiMetodo() CLASS TClass
 +
 +RETURN Nil
 +</code>
 +
 +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.
 +
 +{{:calltip.png|}}
 +
 +<note tip>Para activar o desactivar el uso de calltips, ver sección [[codeeditor#Configuracion.avanzada]]</note>
 +
 +===== 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.
 +
 +{{:findhistory.png|}}
 +
 +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.
 +
 +{{:findmark.png|}}
 +
 +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.
 +
 +{{:braces.png|}}
 +
 +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.
 +
 +{{:bracesbad.png|}}
 +
 +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 <>.
 +
 +<note tip>Para activar o desactivar el auto completado de paréntesis, ver sección [[codeeditor#Configuracion.avanzada]]</note>
 +
 +<note warning>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.</note>
 +
 +===== 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.
 +
 +{{:codetabs.png|}}
 +
 +===== 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.
 +
 +{{:colsel.png|}}
 +
 +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.
 +
 +{{:cliphist.png|}}
 +
 +===== 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.
 +
 +{{:statusbar.png|}}
 +
 +<note tip>Haciendo click en el panel que muestra la línea y columna actual se muestra el diálogo "Ir a línea"</note>
 +
 +===== 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
 +
 +<note warning>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.</note>
 +
 +== 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
  
codeeditor.1259598416.txt.gz · Última modificación: 2022/02/07 17:03 (editor externo)

Herramientas de la página