2010-02-14 3 views
22

J'utilise Eclipse IDE pour mon projet Java.Comment puis-je mettre à jour automatiquement Javadoc lors de la modification de la signature de méthode dans Eclipse?

J'ai un problème. Je les méthodes de mon projet qui ont les commentaires javadoc comme comme suit:

/** 
* Retruns the string representation of a input stream 
* @param in 
* @return 
* @throws IOException 
*/ 
public static String getStringFromInputStream (InputStream in) throws IOException { 
    StringBuffer out = new StringBuffer(); 
    byte[] b = new byte[4096]; 
    for (int n; (n = in.read(b)) != -1;) { 
     out.append(new String(b, 0, n)); 
    } 
    return out.toString(); 
} 

Maintenant, je veux savoir qui est-il un moyen par lequel chaque fois que si je fais des changements dans la signature de ma méthode, ces changements se reflètent dans la javadoc automatiquement.

+2

pourrait être bon de retitle cela. Il n'y a pas de problème avec javadoc comme le titre le prétend. Peut-être quelque chose comme "Refactoring de JavaDoc change dans Eclipse". Je ne pense pas que vous pouvez le faire sans écrire un plugin, btw. –

+0

** Ceci est encore ouvert pour répondre !!!! **. Toutes les réponses se réfèrent à l'option refactor. Mais que faire si j'ai ajouté un nouveau param ou supprimé un param de la signature de la méthode. Dans ce cas, comment mettre à jour le javadoc? – mtk

+0

Les gars vérifient ma réponse pour une solution de contournement! – mtk

Répondre

1

Appuyez sur Atl+Shift+R et changer

+1

Fonctionne uniquement avec les noms de paramètres. Les changements de signature incluent également l'ajout/la suppression de paramètres, la modification de la clause throws, etc. – whiskeysierra

+2

Techniquement, ceci est juste la commande [pour 'Refactor'>' Rename'] (http://www.n0sl33p.org/dev/eclipse_keys.html). – Pops

4

Je ne connais aucun moyen de synchroniser automatiquement l'en-tête Javadoc, mais si vous renommez un paramètre en utilisant Ctrl-1 + Rename in file, l'en-tête Javadoc est renommé de manière appropriée.

10

Eclipse offre des options assez bons pour assurer l'exactitude des javadoc en plus de la Renommer refactor JesperE mentionné:

  • L'opération signature de la méthode de changement Refactoriser modifie également javadoc (ajouter/supprimer les balises nécessaires). Vous devez utiliser celui-ci ou Renommez pour modifier le code qui est déjà utilisé.
  • Si vous activez Ajouter des tags Javadoc sur Préférences/Java/Editor/Taper page, puis Eclipse génère le talon javadoc correct après avoir tapé /** + Entrez avant une méthode.

Vous pouvez également définir les options du compilateur pour vérifier les balises manquantes javadoc sur Préférences/Java/compilateur/Javadoc. Dans ce cas, vous obtenez des avertissements du compilateur sur les balises manquantes/supplémentaires et vous avez un correctif (Ctrl + 1) pour les corriger. C'est une bonne option pour assurer l'exactitude des javadocs existants à long terme.

2

refactorisation avec l'option « Mise à jour des références » ne suffit pas. Vous devez vous assurer que "Traiter les commentaires Javadoc" est coché dans Fenêtre-> Préférences, Java-> Compilateur-> Javadoc. Tweak la page de préférence comme vous préférez et cela fonctionnera bien.

1

Comme je l'ai commenté le scénario, dans lequel refactoring ne fonctionnera pas

Toutes les réponses se réfèrent à l'option factoriser. Mais que faire si j'ai ajouté un nouveau param ou supprimé un param de la signature de la méthode. Dans ce cas, comment mettre à jour le javadoc?

Il existe une solution que j'ai trouvé, mais oui, il est toujours pas un processus automatisé et n'est pas bon pour un grand nombre de changements.

La solution consiste à,
1. Retirez le commentaire javadoc et en font un commentaire simple à savoir mettre à jour le /**' and change it to just/*.
2. Maintenant encore une fois juste au-dessus de la signature/déclaration de la méthode, entrez /** et appuyez sur Entrée. Il serait re-peupler les paramètres mis à jour et les informations de retour.Maintenant, déplacez simplement les lignes de description du commentaire le plus ancien vers le nouveau.
3. Vous pouvez utiliser Alt +Up/Bas flèches pour y parvenir.
4. Terminé supprime l'ancien commentaire javadoc une fois copié à l'endroit correct.

+1

_ "Et si j'ajoutais un nouveau param ou supprimais un param de la signature de la méthode, dans ce cas, comment mettre à jour le javadoc?" _ - La réponse de Csaba_H répond à cette question; vous utilisez _Refactor_> _Change Method Signature ..._ et il ajoutera et/ou supprimera les paramètres sur la signature de la méthode _et_ le javadoc. –

2

Appuyez simplement sur ALT + SHIFT + j sur le nom de la méthode et de supprimer les lignes supplémentaires:

AVANT:

/** 
* Copies all the details from the passed template into the passed new 
* header. 
* 
* @param pNewHeader 
*/ 
private void doCopy(int pNewHeader, int pTemplate) { 

APRÈS:

/** 
* Copies all the details from the passed template into the passed new 
* header. 
* 
* @param pNewHeader << DELETE 
*/     << DELETE 
/**     << DELETE 
* @param pNewHeader 
* @param pTemplate 
*/ 
private void doCopy(int pNewHeader, int pTemplate) { 
Questions connexes