todas tipos studio propagacion programacion móviles manejo las excepciones errores desarrollo curso aplicaciones java syntax-highlighting eclipse-plugin

java - tipos - Cómo mostrar errores de sintaxis en un plugin de editor de eclipse



tipos de excepciones en java netbeans (2)

Deberías estar usando Marcadores.

A continuación, se incluye un ejemplo derivado de "La Guía del desarrollador de Java para Eclipse":

<extension point="org.eclipse.core.resources.markers" id="snakesyntax" name="Snake syntax error"> <super type="org.eclipse.core.resources.problemmarker" /> <super type="org.eclipse.core.resources.textmarker" /> <persistent value="true" /> <extension> IMarker marker = res.createMarker("com.ibm.tool.resources.snakesyntax"); marker.setAttribute(IMarker.SEVERITY, 0); marker.setAttribute(IMarker.CHAR_START, startOfSyntaxError); marker.setAttribute(IMarker.CHAR_END, endOfSyntaxError); marker.setAttribute(IMarker.LOCATION, "Snake file"); marker.setAttribute(IMarker.MESSAGE, "Syntax error");

¿Cómo puedo indicar errores de sintaxis (por ejemplo, una secuencia ilegal de tokens) en un plugin de editor de eclipse como en el editor de eclipse Java, es decir, con subrayados rojos, un marcador rojo en la barra de desplazamiento al que puede saltar y un mensaje explicativo cuando ¿se cierne sobre cualquiera de los dos?

Estoy escribiendo un complemento de editor de eclipse para un formato de archivo personalizado (específicamente, el "formato de archivo de serpiente" del motor de juego Shark3D). Implementé un escáner para obtener resaltado de sintaxis y un esquema.

  • Para los subrayados, ¿simplemente hago que el escáner devuelva un IToken con un TextAttribute "subrayado TextAttribute " en lugar del normal, o hay un mecanismo específico para marcar los errores de sintaxis?
  • ¿Cómo implemento los marcadores de barra de desplazamiento? ¿ IAnnotationModel es la interfaz relevante aquí? De ser así, ¿dónde registro la implementación para que aparezcan los marcadores?
  • Solo encontré SourceViewerConfiguration.getAnnotationHover() , que me permitiría implementar el comportamiento de desplazamiento, pero solo para la "anotación", que supongo significa los marcadores de la barra de desplazamiento. ¿Cómo implemento el comportamiento de desplazamiento del texto?

Sería un consejo específico feliz, así como una URL de un tutorial que cubre esto, los documentos de ayuda y los ejemplos de eclipse no parecen ser así.

Editar: Los marcadores son las mejores soluciones para esto. Se puede encontrar un ejemplo práctico de cómo usarlos en el código de ejemplo del complemento en org.eclipse.ui.examples.readmetool.AddReadmeMarkerAction


La forma correcta es usar la interfaz del marcador.

Los marcadores son esencialmente un modelo que mapea objetos marcadores en ubicaciones en su código fuente, por lo que tiene sentido en situaciones en las que puede tener errores en varios archivos. (ver la interfaz de IMarker)

Una opción más económica si desea agregar marcas a su editor actual pero no a todo el proyecto es usar Anotaciones, que puede agregar usted mismo.

Los marcadores se representan en la interfaz de usuario como anotaciones, pero Eclipse agrega y elimina las anotaciones en sí. Con anotaciones directas, tienes el control.