2009-04-17 11 views
5

Estoy evaluando la posibilidad de desarrollar un plugin de Eclipse para modificar el código fuente de algunos archivos Java.Es hora de desarrollar una opción en Eclipse para modificar una fuente de archivo Java

El plug-in de Eclipse debe:

  1. añadir una opción de menú o menú contextual para iniciar el proceso de modificación.
  2. agregar un enlace de clave
  3. solo alterar la interfaz de usuario de esa manera cuando un editor ha sido abierto en un archivo de Java.
  4. el proceso de modificación no abriría un diálogo, o tal vez, uno muy simple.
  5. el proceso de modificación atravesaría el AST del archivo Java y lo modificaría.

Teniendo en cuenta que no tenemos experiencia con los complementos de Eclipse y necesitamos pasar tiempo leyendo documentos, ¿cuánto tiempo estiman para desarrollar ese complemento?

Gracias de antemano.

+0

He votado en contra porque no creo que esta sea la forma de hacer estimaciones. Corrígeme si me equivoco – Bertvan

+2

Está pidiendo un presupuesto porque no tienen XP en la codificación de plugins de Eclipse ... Creo que esta es una buena pregunta. – Seb

+2

He votado, porque me han pedido estimaciones en las que no sabía absolutamente nada sobre el dominio del problema. En ese caso, su estimación oscila entre 1 día y el infinito. El que pregunta es sensato y pregunta: "¿Conociendo la tecnología, cuánto tiempo te tomaría?" y "¿Cuánto tiempo tomaría un principiante completo para hacerlo?". Necesitan un número para traer de vuelta a la gerencia, las respuestas de SO prestarán algo de "estimación" a su "conjetura", convirtiéndolo en un "Adivinado Educado" –

Respuesta

4

En realidad no es tan difícil en absoluto ... Tenía los estudiantes en mi clase de patrones de diseño que hacen que para una asignación (añadir/eliminar captadores y definidores JavaBean)

Ver http://help.eclipse.org/ganymede/topic/org.eclipse.jdt.doc.isv/guide/jdt_api_manip.htm

[EDITAR : añade el artículo siguiente referencia]

Y un gran artículo sobre él en http://www.eclipse.org/articles/article.php?file=Article-JavaCodeManipulation_AST/index.html (de 2006 - que puede haber algunos cambios API) desde

Sí, escribir plugins requiere un poco de tiempo para acostumbrarse, pero también lo hace cualquier API.

Y puede modificar el AST - vea la página que menciono arriba.

(Debo notar que el enlace de arriba es de la ayuda de eclipse, que también se puede acceder a través de Ayuda-> Contenido de la Ayuda dentro de Eclipse - hay mucha información buena allí, pero es solo un punto de partida)

1

Probablemente pasarás bastante tiempo maldiciendo la complejidad del sistema de plugins eclipse. Hay algunos ejemplos de proyectos de desarrollo de complementos que pueden ser muy útiles si cubren el área en la que está trabajando.

Diría que está buscando entre 2 y 4 días de trabajo, dedicado principalmente a familiarizarse con la plataforma - alguien con mucha experiencia escribiendo plugins de eclipse probablemente no tomaría más de una hora.

Sin embargo, su paso 5 podría ser complicado. No sé cuán fácil es acceder y cambiar Java AST; Mi experiencia se basa en desarrollar un plugin editor para un formato de archivo exótico en lugar de un código Java.

0

Bueno, los cuatro primeros puntos son fáciles de lograr, incluso por los codificadores de mono que miran la documentación PDE del eclipse enviada con Eclipse. Esto se puede lograr en 1 día de trabajo, tal vez 2.

El punto más difícil es realmente el quinto y el tipo de modificación que espera hacer. Actuar directamente sobre el contenido del editor es simple, acceder al editor interno AST y modificarlo es realmente un desafío mayor y dudo que pueda ser logrado en menos de una semana por personas sin experiencia (puede tomar más tiempo, dependiendo de qué tipo de modificación quieres postularte).

+0

No estoy de acuerdo con su afirmación de que los primeros puntos son fáciles de lograr, considerando que la documentación PDE enviada con Eclipse contiene estructuras obsoletas. Puede ser fácil de hacer, pero ciertamente no es fácil de hacer * correctamente *. – StockB

Cuestiones relacionadas