IntelliSense et commentaires dans Visual Studio

Pour le premier article technique de ce blog, on va commencer en douceur par une petite astuce sur Visual Studio : comment tirer parti des commentaires et de l’IntelliSense !!

Qu’est ce que l’IntelliSense ?

Posons le contexte. Visual Studio, comme tout bon IDE qui se respecte, possède une auto-complétion du code. Cette invention géniale permet aux développeurs les plus fainéants de taper moins de caractères sur leur clavier (et il vous en remercie). Dans Visual Studio, ce système s’appelle l’IntelliSense et est particulièrement bien fait à mon gout.

A quoi ca ressemble ? Prenons la ligne de code C# de base :

Console.WriteLine("Toto");

Voilà ce qui se passe quand j’écris “Co” dans l’IDE :

conso

On peut voir en dessous un rectangle avec toutes les possibilités, et à droite une description de la fonction ou classe. Petite différence par rapport à d’autres IDE (comme Eclipse par exemple), la classe mis en évidence n’est pas la première dans l’alphabet correspondant à “Co”, mais celle qui est le plus utilisée. Cela représente là aussi un gain de temps considérable dès que le code commence à grandir.

Autre chose intéressante, une description des paramètres et de leur fonction. Continuons avec notre exemple :

image

Ici, l’IntelliSense détecte que je vais ajouter un deuxième paramètre à ma fonction WriteLine et me dit que je peux mettre ici un paramètre de type object et m’en donne une description en dessous.

Tout cela est très utile mais ne marche qu’avec les fonctions et classe qui font parties du Framework .NET. En effet, si vous créez votre propre classe ou fonction, vous ne bénéficiez pas de cette possibilité. Pas encore serait plus juste !! Je vais vous montrer maintenant comment tirer partie de cette fonctionnalité de l’IntelliSense.

Utiliser au mieux l’IntelliSense

Prenons cette classe comme exemple :

public class Personne
{
   public string Nom { get; set; }

   public string Parler(string nom, string adjectif)
   {
       return String.Format("{0} est {1}", nom, adjectif);
   }

}

Ne nous attardons pas sur l’inutilité de cette classe et concentrons nous sur son utilisation.

Si je déclare un objet de type Personne, voilà ce que j’obtiens :

image

On va dire que si le nom de la classe n’est pas explicite, une personne qui regarde mon code ne comprend pas à quoi sert cette classe. Idem si j’utilise la fonction Parler'() :

image

Pareil, si ce n’est pas moi qui l’ai codé, je ne comprend pas à quoi sert ce paramètre…

Comment faire pour obtenir le même résultat qu’avec les fonctions de base du Framework. Tout simplement en commentant son code (oui c’est pas juste pour faire joli et vous embêter qu’il faut commenter). Mais il va falloir le commenter d’une manière bien précise en utilisant  ceci :

///


Oooooh un triple slash !!! Voyons ce que cela donne pour la classe. En mettant le triple slash sur la ligne juste au dessus de notre classe, on obtient ceci :

/// <summary>
/// Classe désignant une personne
/// </summary>
public class Personne

Un template apparait et nous permet de mettre une définition à la classe.

Si on fait pareil et que l’on met /// sur la ligne précédant la fonction Parler() :

/// <summary>
/// Fonction permettant de faire parler la personne
/// </summary>
/// <param name="nom">Nom de la personne dont on parle</param>
/// <param name="adjectif">Adjectif qualifiant la personne</param>
/// <returns>Mots prononcés par la personne</returns>
public string Parler(string nom, string adjectif)
{
     return String.Format("{0} est {1}", nom, adjectif);
}

Un autre template apparait nous permettant de donner une définition à la fonction et d’expliquer ses paramètres et sa valeur de retour.

Maintenant si on utilise l’IntelliSense comme tout à l’heure, on obtient ceci :

image

image

image

On obtient donc bien le même résultat que pour une classe du Framework, avec une description de la classe, de la fonction et de ses paramètres.

Ceci n’est qu’une des nombreuses fonctionnalités de l’IntelliSense, mais elle peut s’avérer très importante dans les projets en équipe.

J’ai essayé de faire un article le plus simple possible afin que vous puissiez mettre en pratique immédiatement cette astuce. Si vous avez des questions, laissez un commentaire, j’y répondrai🙂

One thought on “IntelliSense et commentaires dans Visual Studio

  1. Si je créé les commentaires dans une dll A et que je l’ajoute en tant que référence dans un projet B je n’arrive pas à accéder aux commentaires.

    On dirait que ça marche que dans les classes incluses mais non les dll

Laisser un commentaire

Entrez vos coordonnées ci-dessous ou cliquez sur une icône pour vous connecter:

Logo WordPress.com

Vous commentez à l'aide de votre compte WordPress.com. Déconnexion / Changer )

Image Twitter

Vous commentez à l'aide de votre compte Twitter. Déconnexion / Changer )

Photo Facebook

Vous commentez à l'aide de votre compte Facebook. Déconnexion / Changer )

Photo Google+

Vous commentez à l'aide de votre compte Google+. Déconnexion / Changer )

Connexion à %s