Ejemplo - Editor Java

Introducción

El ejemplo Editor de Java demuestra las características estándar disponibles para los editores de texto personalizados.  También muestra cómo  registrar un editor para una extensión de archivo (en este caso .jav) y cómo definir un proveedor de documento personalizado para ser utilizado por ese editor. Este ejemplo únicamente tiene propósitos de demostración. El soporte para edición de Java se obtiene de las   Herramientas Java de Eclipse.

Características demostradas en el editor de ejemplo

Características no demostradas

Ejecución del editor de ejemplo

  1. Crear un proyecto
  2. Crear un archivo con la extensión de archivo ".jav" en el proyecto recién creado. El editor de ejemplo Java se abre automáticamente.
  3. Insertar el código de Java. El código de Java es coloreado dinámicamente. El editor de ejemplo presenta los siguientes elementos de lenguaje en diferentes colores: comentarios multilínea, comentarios de línea sencilla, palabras reservadas del lenguaje Java, constantes de serie y de carácter, código regular Java, así como observaciones multilínea de acuerdo con las directrices del JavaDoc. Dentro de estas observaciones JavaDoc, las etiquetas y las palabras clave del JavaDoc están coloreados de distinto modo.
  4. Abra una nueva observación multilínea Java insertando "/*" en el exterior de la observación Java. Todo el texto entre el "/*" insertado y la primera aparición de "*/" o el final del texto cambia su color al rojo. Añada otro "*". El campo en rojo cambia al verde como la observación regular multilínea, que ahora se considera que contiene el JavaDoc. Invoque el asistente de código utilizando CTRL-ESPACIO. La función del asistente de contenido consiste en ayudar al usuario al escribir el código. Por lo tanto, al invocarlo, el asistente del contenido debería enumerar todas las terminaciones válidas posibles en la ubicación de la invocación. Dentro del JavaDoc, el editor de ejemplo siempre propone todas las palabras clave del JavaDoc.
  5. En el exterior de la observación Java invoque la ayuda de contenido utilizando CTRL+SHIFT+ESPACIO. Se enumeran cinco propuestas. Seleccione una y pulse INTRO. Aparecerá una pequeña ventana flotante en rojo encima de la línea actual que visualiza la propuesta seleccionada. El uso anticipado de la ayuda de contenido sirve para permitir que el usuario exprese su intención, p.ej. entrar una llamada de método y presentar información contextual que guíe al usuario. En el editor de ejemplo, la propuesta es considerada válida cinco caracteres alrededor de la localización de la invocación inicial. Mientras la ayuda de contenido esté visible, invoque al asistente de contenido utilizando CTRL+ESPACIO. El asistente de contenido invocado en esta situación debería ayudar al usuario a llevar a cabo su intención visible en la ayuda de contenido. Dentro del código habitual de Java, el editor de ejemplo siempre propone todas las palabras clave de Java.
  6. Guarde el código Java. Al guardarlo se actualiza el perfilador de contenido. El perfilador de contenido contiene diez entradas, cada una de las cuales representa uno de los diez segmentos de igual tamaño del código Java del editor. Este tipo de perfil de contenido ha sido escogido para mostrar que la semántica de los campos resaltados puede ser definida de forma arbitraria. (Vea los pasos siguientes.)
  7. Seleccione una de las entradas del perfilador de contenido. Las líneas correspondientes están marcadas con una barra azul en la regla vertical izquierda del editor.
  8. Ahora conmute al modo de presentación segmentado del editor Java. Para ello, asegúrese de que el editor esté activo y pulse el botón de la barra de herramientas del escritorio cuya ayuda flotante dice "Habilitar/Deshabilitar el visor segmentado de origen".  Esta función está prevista para usarla, p.ej. para vistas de métodos simples.
  9. Seleccione una entrada diferente en el perfilador de contenido.Ahora el editor muestra únicamente el segmento seleccionado.Al seleccionar la entrada en el perfilador de contenido, se muestra de nuevo el código completo de Java.
  10. Seleccione una entrada en el perfilador de contenido, seleccione una parte del texto visible y añada una tarea para la selección. La tarea se muestra en la lista de tareas. Modifique el código visible. En la lista de tareas, seleccione la tarea previamente creada y pulse el botón "Ir a Archivo". La tarea es seleccionada en el área visible, tomando en cuenta de forma correcta las modificaciones previamente aplicadas.
  11. Seleccione otra entrada en el perfilador de contenido. Revele la tarea añadida previamente en la lista de tareas. El campo resaltado del editor se amplia de forma automática para encerrar el campo de la tarea revelada.
  12. Abra un entorno de trabajo nuevo. En el nuevo entorno de trabajo, abra un editor de Java para el mismo archivo del entorno de trabajo original. Modifique el contenido del editor. Vuelva al entorno de trabajo original. El editor muestra los cambios realizados en el otro entorno de trabajo. Los dos editores que muestran el mismo archivo están bien conectados.

Principios para crear editores de texto personalizados.

Los pasos siguientes normalmente son necesarios para desarrollar un editor de texto personalizado.
  1. Cree un proveedor de documento. Un proveedor de documento (véase IDocumentProvider) produce y gestiona documentos (véase IDocument) que contienen una representación textual de los elementos de entrada del editor. Es importante decidir cómo aparecerá la traducción entre un elemento y su representación textual y si el proveedor del documento debería compartirse, o no, entre los múltiples editores. Véase la clase FileDocumentProvider en el editor de ejemplo de Java.
  2. Cree un divisor de documento. Un divisor de documento (véase IDocumentoPartioner) divide un documento en dos áreas separadas. El divisor asigna a cada área un tipo de contenido de entre un conjunto de tipos de contenido predefinido por el divisor. En cada modificación de documento, la división del documento debe ser actualizada. Véase la clase JavaPartitioner en el editor de ejemplo de Java.El JavaPartitioner determina las áreas de los comentarios de tipos multilínea, comentarios JavaDoc y todo lo demás. Se debe asegurar de que el proveedor de documento esté establecido en cada documento producido por el proveedor de documento.
  3. Determine cual de los plugins visores de origen deben proporcionarse. Entre otros plugins soportados, encontramos las estrategias de auto sangrado, las estrategias de doble pulsación, el formateador de contenido y el reconciliador de presentación de texto. La descripción posterior resultará restringida para el reconciliador de presentación de texto (véase IPresentationReconciler). En el editor de ejemplo de Java, el reconciliador de presentación de texto se utiliza para implementar el resaltado de la sintaxis.
  4. Cree para todos los plugins visores de origen las extensiones apropiadas para cada tipo de contenido de apoyo. Como se ve arriba, el divisor de documento define los tipos de contenido soportados. La implementación por omisión del IPresentationReconciler proporciona soporte para los IPresentationDamagers y los IPresentationRepairers como extensiones. Estas extensiones se consideran específicas para un tipo de contenido en particular. De este modo, para un editor personalizado, el usuario debe, en primer lugar, seleccionar un subconjunto de tipos de contenido soportados. Las zonas de un tipo que forme parte del subconjunto seleccionado serán, p.ej. resaltados en su sintaxis. Para cada uno de estos tipos, deben implementarse las extensiones. Véase el JavaDamagerRepairer y el JavaDocDamagerRepairer en el editor de ejemplo.
  5. Elabore una configuración de visor de origen utilizando los plugins y las extensiones creados previamente. Véase JavaSourceViewConfiguration en el editor de ejemplo.
  6. Personalice la clase TextEditor o AbstractTextEditor con el divisor de documento desarrollado y la configuración de visor de origen. Añada o reemplace acciones y adapte la construcción del menú de contexto del editor. En la versión actual, esta personalización debe llevarse a cabo en una subclase. Véase JavaEditor en el editor de ejemplo.
  7. Establezca un colaborador de barras de acciones apropiado, que contribuya acciones relacionadas con el editor a la barra de herramientas y a los menús del escritorio. Véase JavaActionContributor en el editor de ejemplo.
  8. Amplíe el archivo de configuración XML del plugin del editor, de tal forma que el editor registre en el punto de extensión del editor predefinido en busca de un conjunto específico de extensiones de archivo. También establezca el colaborador de la barra de acciones en el archivo XML. Véase plugin.xml de este ejemplo.

Organización del código del ejemplo

El código de ejemplo está organizado en cuatro paquetes:
 

Copyright IBM Corp. 2000, 2001.  Reservados todos los derechos.