106 votes

Génération automatique de la documentation des fonctions dans Visual Studio

Je me demandais s'il existe un moyen (avec un peu de chance, un raccourci clavier) de créer des en-têtes de fonction générés automatiquement dans Visual Studio.

Exemple :

Private Function Foo(ByVal param1 As String, ByVal param2 As Integer)

Et ça deviendrait automatiquement quelque chose comme ça...

'---------------------------------- 
'Pre: 
'Post:
'Author: 
'Date: 
'Param1 (String): 
'Param2 (Integer): 
'Summary: 
Private Function Foo(ByVal param1 As String, ByVal param2 As Integer)

1 votes

Si vous avez atterri sur cette page parce que cette fonctionnalité ne semble pas fonctionner dans votre IDE, assurez-vous que votre code se compile et réessayez. Cette fonctionnalité ne fonctionne pas lorsque votre code comporte des erreurs d'analyse.

0 votes

Comment générer une liste de tâches dans xamarin ?

178voto

Michael Paulukonis Points 4757

Disons "trois marqueurs de commentaires".

En C#, c'est ///

qui par défaut crache :

/// <summary>
/// 
/// </summary>
/// <returns></returns>

Voici quelques conseils sur l'édition des modèles VS.

8 votes

Et en VB.NET, il s'agit de guillemets simples triples (comme mentionné dans une autre réponse).

1 votes

C'est assez chouette, je ne le savais pas.

0 votes

L'option "Générer des commentaires de documentation XML pour ///" ne fonctionnera pas si la ligne précédente sans espace blanc commence par "///".

51voto

Rasmus Faber Points 24195

GhostDoc !

Cliquez avec le bouton droit de la souris sur la fonction, sélectionnez "Documenter ceci" et

private bool FindTheFoo(int numberOfFoos)

devient

/// <summary>
/// Finds the foo.
/// </summary>
/// <param name="numberOfFoos">The number of foos.</param>
/// <returns></returns>
private bool FindTheFoo(int numberOfFoos)

(oui, tout est généré automatiquement).

Il prend en charge C#, VB.NET et C/C++. Il est par défaut mappé sur Ctrl + Shift + D .

N'oubliez pas : vous devez ajouter à la documentation des informations autres que la signature de la méthode. Ne vous contentez pas de la documentation générée automatiquement. La valeur d'un outil comme celui-ci est qu'il génère automatiquement la documentation qui peut être extraite de la signature de la méthode, donc toute information que vous ajoutez doit être nouveau informations.

Ceci étant dit, je préfère personnellement que les méthodes soient totalement auto-documentées, mais il arrive parfois que des normes de codage imposent une documentation externe, et un outil comme celui-ci vous évitera de taper dans le vide.

16 votes

Et c'est exactement le genre de "documentation" que je déteste. Elle ne fait qu'ajouter des octets sans me dire quoi que ce soit que les noms des méthodes et des paramètres ne me disent pas déjà. Ne faites pas cela, sans modifier le commentaire en quelque chose de valable... :-(

15 votes

Bien sûr, vous devriez le modifier pour ajouter des informations. Mais en tant que modèle, il est très bien.

3 votes

@Rasmus : C'est un modèle qui, pour une bonne documentation, devrait être jeté complètement et réécrit de toute façon, puisqu'il n'a aucun contenu informatif. Donc c'est en fait plus d'effort que si c'était juste vierge.

19voto

Ofek Shilon Points 3170

Visual Assist dispose d'un bonne solution aussi, et est hautement costumable.

Après l'avoir modifié pour qu'il génère des commentaires de style doxygen, ces deux clics produiraient -

/**
* Method:    FindTheFoo
* FullName:  FindTheFoo
* Access:    private 
* Qualifier:
* @param    int numberOfFoos
* @return   bool
*/
private bool FindTheFoo(int numberOfFoos)
{

}

(Sous les paramètres par défaut, c'est un peu différent).


Modifier : La façon de personnaliser le texte de la 'méthode du document' est sous VassistX->Options d'assistance visuelle->Suggestions, sélectionnez 'Edit VA Snippets', Language : C++, Type : Refactoring, puis allez à 'Document Method' et personnalisez. L'exemple ci-dessus est généré par :

va_doxy

0 votes

Veuillez nous expliquer comment vous avez mis en place ce système en VA

0 votes

Élaboré à la réponse. J'espère que cela vous aidera.

0 votes

Pour insérer le fragment : avec le curseur sur le nom de la méthode/signature, alt+shift+q > "méthode du document".

4voto

paul Points 141

En Visual Basic, si vous créez d'abord votre fonction/sous-fonction, puis que vous tapez trois fois ' sur la ligne au-dessus, le système générera automatiquement le fichier xml correspondant pour la documentation. Cela apparaît également lorsque vous passez la souris dans intellisense, et lorsque vous utilisez la fonction.

2voto

NYSystemsAnalyst Points 6197

Vous pouvez utiliser des extraits de code pour insérer les lignes que vous souhaitez.

En outre, si vous tapez trois guillemets simples (''') sur la ligne au-dessus de l'en-tête de la fonction, le modèle d'en-tête XML que vous pouvez ensuite remplir sera inséré.

Ces commentaires XML peuvent être interprétés par un logiciel de documentation et sont inclus dans le résultat de la construction sous la forme d'un fichier assembly.xml. Si vous conservez ce fichier XML avec la DLL et que vous faites référence à cette DLL dans un autre projet, ces commentaires deviennent disponibles dans intellisense.

0 votes

C'est VB.NET : en C#, c'est ///

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X