2010-06-07 9 views
7

Estoy documentando el código en Eclipse y he estado usando// seguido de Ingresar un lote para insertar la plantilla de Javadoc. Sin embargo, esto no siempre funciona por alguna razón, creará la plantilla para escribir comentarios, pero no insertará automáticamente el texto @param y @return. Si copio exactamente el mismo método a otra clase, insertará la plantilla completa.¿Por qué/** [newline] no siempre inserta la plantilla Javadoc incluyendo @param y @return en Eclipse?

Sería de gran ayuda si alguien pudiera decirme por qué no lo hará en algunas situaciones.

Respuesta

7

Por lo que sé, esto generalmente sucede cuando Eclipse no sabe con certeza qué método desea documentar.

Una manera más confiable sería seleccionar el método/clase, etc. para los que desea crear JavaDoc y presionar ALT + MAYÚS + J o hacer clic derecho en el método en el esquema de clase y hacer clic en Fuente -> Generar elemento comentario .

+1

Al tocar este atajo me señalará la interfaz que implementa esta clase (es decir, inserta (no Javadoc) y luego una línea con @See package.class # method (params), supongo que no le gusta que Javadoc sea agregado a una clase que implementa una interfaz. Entonces, si por algún motivo quiero documentar la implementación de una interfaz, supongo que tendré que hacerlo manualmente. Me doy cuenta de que tal vez no sea la mejor manera de abordar la documentación, pero Me preguntaba por qué no funcionó. Gracias! –

+0

Bueno, el objetivo de los métodos descritos por una interfaz es que la interfaz ya incluye toda la documentación necesaria (y los métodos de implementación no deberían comportarse de manera diferente a la interfaz especifica). Pondría información adicional en el encabezado de la clase javadoc. – Daff

+0

Acabo de encontrar otro ejemplo en una clase que no extiende ni implementa nada. No tengo idea de por qué no funciona con/** aquí, pero alt-shift-j sí inserta la plantilla de javadoc correctamente. –

1

Siempre me funciona A MENOS que haya un comentario sobre el método para el que intento agregar la documentación. Aquí está un ejemplo de un código y un método indocumentado en las que no funciona:

public class Test { 
    // Declare some fields. Bla bla bla. 

    // ~ Constructors 

    public Test() { // <-- If I insert /** above this line it fails to work 
    } 
} 

Mi solución es por lo general para declarar una variable temporal que separa mi método de los comentarios por lo que el Eclipse reconoce lo que estoy haciendo. ..

public class Test { 
    // Declare some fields. Bla bla bla. 

    // ~ Constructors 
    int i; 
    public Test() { // <-- If I insert /** above this line it works. Then discard the temp var. 
    } 
} 
0

Esto comenzó a suceder conmigo ocasionalmente con la última compilación, Mars. Reiniciar Eclipse lo corrige. Parece que realmente necesito reiniciar Eclipse todos los días para evitar problemas aleatorios como este.

Cuestiones relacionadas