2017-06-07 1 views
0

Je voudrais générer des commentaires automatiquement, mais l'entrée/** + ne génère que des Javadoc contenant les balises @param et @return.Comment ajouter des commentaires de méthode avec le modèle Live dans IntelliJ idea

Je souhaite également générer la date et l'auteur, mais lorsque j'ai créé le modèle dynamique, j'ai utilisé methodparameters() pour générer automatiquement les paramètres, mais cela ne fonctionne pas en dehors de la méthode. J'ai dû générer de la documentation dans la méthode et ensuite la déplacer vers le haut de la méthode.

Comment générer des commentaires en dehors d'une méthode avec les balises @ param, @ author et @date?

Mise à jour:

@ réponse de javau élaboré, tanks! Merci pour la grammaire de fixation, Luciano van der Veekens

j'ai modifié le xml comme ça:

<template name="auth" value="@author $USER$ &#10; * @since $DATE;" description="Inset Javadoc @author and @since tags" toReformat="true" toShortenFQNames="true"> 
    <variable name="USER" expression="user()" defaultValue="" alwaysStopAt="false" /> 
    <variable name="DATE" expression="date()" defaultValue="" alwaysStopAt="false" /> 
    <context> 
    <option name="JAVA_COMMENT" value="true" /> 
    </context> 
</template> 

Répondre

2

Vous ne pourrez pas faire exactement ce que vous voulez. Le /**Entrez Le raccourci n'est pas un modèle actif en soi. Et il ne peut pas être édité. Et un template live n'a pas accès aux paramètres de méthode d'une méthode dont il n'est pas.

À long terme, je vous recommande de open a feature request qu'un paramètre soit mis pour inclure les balises @author et @since lorsque le raccourci /** est utilisé.

Pour l'instant, vous pouvez le faire en deux étapes. Créez un modèle en direct pour insérer les balises @author et @since. (J'ai un exemple ci-dessous vous pouvez copier et coller.) Ensuite, vous devez taper: /**EntrezauthTabauth est le raccourci pour votre modèle en direct. Vous finirez avec quelque chose comme:

/** 
* @author Dilbert 
* @since 2017-06-07 
* @param foo 
* @param bar 
*/ 
void m1(String foo, String bar) 

Voici un exemple de modèle:

<template name="auth" value="@author $USER$ &#10; * @since $DATE$&#10; *" description="Inset Javadoc @author and @since tags" toReformat="true" toShortenFQNames="true"> 
    <variable name="USER" expression="user()" defaultValue="" alwaysStopAt="false" /> 
    <variable name="DATE" expression="date()" defaultValue="" alwaysStopAt="false" /> 
    <context> 
    <option name="JAVA_COMMENT" value="true" /> 
    </context> 
</template> 

MISE À JOUR

Pour répondre à votre question du commentaire « Je me demandais où vous avez trouvé l'option nom JAVA_COMMENT? " C'est au bas de la boîte de dialogue Live Template. Vous pouvez définir le contexte/la portée pour lequel le modèle (c'est-à-dire le raccourci) est applicable/disponible. Voici une capture d'écran.

Live Template Diloag

Si vous n'êtes pas au courant, vous pouvez créer le modèle en copiant le code XML je montre puis le coller dans un groupe de modèle. L'option de collage n'est disponible que si vous avez un modèle XML valide dans votre presse-papiers. Assurez-vous qu'il n'y a pas d'espaces ou de lignes avant l'élément <template. (Je suis le XML via l'option de copie.)

Pasting a template

+0

C'est vraiment génial! Je me demandais où vous avez trouvé le nom de l'option JAVA_COMMENT? Y at-il une autre option qui ne peut pas être modifiée? – lihongxu

+0

J'ai répondu à votre question commentaire dans la réponse ci-dessus. – Javaru

+0

Merci, javau, ça fonctionne. Mais il y avait une ligne redondante. Je supprime juste la dernière ** *** de la valeur de Template! – lihongxu