2009-12-30 14 views
8

Estoy escribiendo el complemento eclipse para agregar mejor compatibilidad con los archivos de propiedades. Una de las piezas faltantes es la asistencia de contenido ... Me gustaría mostrar las claves de propiedades coincidentes cuando el usuario comienza a escribir una cadena y presiona la tecla de asistencia de contenido.Punto de extensión para proporcionar procesadores de asistencia de contenido personalizado en Eclipse

Por ejemplo, cuando tenga la propiedad hello = world en una de mis archivos de propiedades, y comienzo a escribir format("hel y golpear CTRL +ESPACIO ahora, me gustaría ver disponibles hello propiedad.

Mi problema es que no puedo encontrar el punto de extensión correcto para proporcionar un procesador de asistencia de contenido personalizado. ¿Cómo puedo proporcionar mi propio procesador de asistencia de contenido para archivos de texto? Me gustaría hacer que funcione principalmente en archivos Java, JSP y XML.

Respuesta

3

He buscado un punto de extensión similar sin éxito. Por lo que sé, no es posible agregar nuevos tipos de asistencia de contenido a los editores en Eclipse de esta manera.

+1

) Muchas gracias, David. Confirma mi propia falla al no encontrar dicho punto de extensión. Por lo que yo entiendo, Solo puedo agregar ayudantes de contenido asistido para editores específicos, que tienen puntos de extensión propios (algunos de ellos ... parece que, por ejemplo, el editor Java tiene esa capacidad). Afortunadamente para mí, el editor Java y el editor JSP son los que más me interesan. –

1

Si los archivos de propiedades pueden producirse por un EBNF grammar, entonces se podría dar Eclipse Xtext un tiro

xtext es un marco para el desarrollo del dominio textual lenguajes específicos (DSLs).
Simplemente describa su propia DSL utilizando el lenguaje de gramática EBNF simple de Xtext y el generador creará un analizador, un modelo AST-meta (implementado en EMF) así como un editor de texto Eclipse con todas las características de ese.

alt text http://www.eclipse.org/Xtext/images/screenshot-title.png

El marco integra con la tecnología de modelado de Eclipse como EMF, GMF, M2T y partes de EMFT.
El desarrollo con Xtext está optimizado para pequeños cambios, por lo que agregar nuevas características a una DSL existente es cuestión de minutos. Todavía se pueden implementar sofisticados lenguajes de programación.


De lo contrario, se pueden encontrar algunos ejemplos de ayuda de contenido en this thread, o this one (JSDT - JavaScript)

+0

Gracias por la respuesta. Mi pregunta puede no estar clara, ya que esto no es lo que estoy buscando. Los archivos de propiedades no están descritos por la gramática, sino que están especificados en javadoc para el método Properties.load() (http://java.sun.com/j2se/1.5.0/docs/api/java/util/Properties.html#load% 28java.io.InputStream% 29). Dos hilos a los que hace referencia son específicos para WTP/DLTK. Estoy buscando un punto de extensión de asistencia de contenido genérico que funcione con la mayoría de los editores de texto. Esos hilos de referencia pueden indicar que los procesadores de asistencia de contenido son siempre específicos para un tipo de editor dado, lo que no sería bueno :(( –

0

Parece que IContentProposalProvider puede ser lo que yo estoy buscando, pero todavía no hay punto de extensión .

8

Puede hacerlo declarando una extensión a:

org.eclipse.jdt.ui.javaCompletionProposalComputer 

Aquí está el reference page para comenzar.

puede encontrar un proyecto de demostración here

2

Puede crear un proyecto de plug-in, la opción "plug-in con un editor", hay un pequeño editor de lenguaje XML con coloreado de sintaxis (Esta clase ayuda a saber las clases para la extensión). La ayuda de contenido no se utiliza, pero se puede añadir que busca este FAQs

Coloreado de sintaxis http://help.eclipse.org/indigo/index.jsp?topic=%2Forg.eclipse.platform.doc.isv%2Fguide%2Feditors_highlighting.htm

Asistente contenido http://help.eclipse.org/indigo/index.jsp?topic=%2Forg.eclipse.platform.doc.isv%2Fguide%2Feditors_contentassist.htm

La única cosa que yo estoy tratando de encontrar es el añadir información como JavaDoc a la propuesta para el asistente definido. En las Preguntas Frecuentes dice algo, pero realmente no lo entiendo.

Espero que ayude.

Cuestiones relacionadas