Personnaliser le dictionnaire d’analyse du code

Code Analysis utilise un dictionnaire intégré pour vérifier les identificateurs de votre code à la recherche de fautes d’orthographe, de cas grammatical et d’autres conventions d’affectation de noms des instructions de conception .NET. Vous pouvez créer un fichier Xml de dictionnaire personnalisé pour ajouter, supprimer ou modifier des termes, des abréviations et des acronymes dans le dictionnaire intégré.

Par exemple, supposons que votre code contenait une classe nommée CodeInformatik. Code Analysis identifie le terme comme un composé de deux mots : code et informatik. Cela déclencherait alors un avertissement indiquant que le mot informatik n’a pas été correctement orthographié. Pour forcer l’analyse du code à reconnaître l’orthographe, vous pouvez ajouter le terme informatik au dictionnaire personnalisé.

Pour créer un dictionnaire personnalisé

Créez un fichier nommé CustomDictionary.xml.

Définissez vos mots personnalisés à l’aide de la structure XML suivante :

<Dictionary>
      <Words>
         <Unrecognized>
            <Word>knokker</Word>
         </Unrecognized>
         <Recognized>
            <Word></Word>
         </Recognized>
         <Deprecated>
            <Term PreferredAlternate=""></Term>
         </Deprecated>
         <Compound>
            <Term CompoundAlternate=""></Term>
         </Compound>
         <DiscreteExceptions>
            <Term></Term>
         </DiscreteExceptions>
      </Words>
      <Acronyms>
         <CasingExceptions>
            <Acronym></Acronym>
         </CasingExceptions>
      </Acronyms>
   </Dictionary>

Éléments du dictionnaire personnalisé

Vous pouvez modifier le comportement du dictionnaire Code Analysis en ajoutant des termes comme texte interne des éléments suivants dans le dictionnaire personnalisé :

Dictionary/Words/Recognized/Word

Pour inclure un terme dans la liste des termes que l’analyse du code identifie comme correctement orthographiés, ajoutez le terme en tant que texte interne d’un élément Dictionary/Words/Recognized/Word. Les termes des éléments Dictionary/Words/Recognized/Word ne respectent pas la casse.

Exemple

<Dictionary>
      <Words>
         <Recognized>
            <Word>knokker</Word>
            ...
         </Recognized>
         ...
      </Words>
      ...
</Dictionary>

Les termes des nœuds Dictionary/Words/Recognized sont appliqués aux règles d’analyse du code suivantes :

Dictionary/Words/Unrecognized/Word

Pour exclure un terme de la liste des termes que l’analyse du code identifie comme correctement orthographiés, ajoutez le terme à exclure en tant que texte interne d’un élément Dictionary/Words/Unrecognized/Word. Les termes des éléments Dictionary/Words/Unrecognized/Word ne respectent pas la casse.

Exemple

<Dictionary>
      <Words>
         <Unrecognized>
            <Word>meth</Word>
            ...
         </Unrecognized>
         ...
      </Words>
      ...
</Dictionary>

Les termes des nœuds Dictionary/Words/Unrecognized sont appliqués aux règles d’analyse du code suivantes :

Dictionary/Words/Deprecated/Term[@PreferredAlternate]

Pour inclure un terme dans la liste des termes que l’analyse du code identifie comme déconseillés, ajoutez le terme en tant que texte interne d’un élément Dictionary/Words/Deprecated/Term. Un terme déconseillé est un mot qui est correctement orthographié, mais qui ne doit pas être utilisé.

Pour inclure un autre terme suggéré dans l’avertissement, spécifiez l’alternative dans l’attribut PreferredAlternate de l’élément Term. Vous pouvez laisser la valeur de l’attribut vide si vous ne souhaitez pas suggérer d’alternative.

  • Le terme déconseillé dans l’élément Dictionary/Words/Deprecated/Term ne respecte pas la casse.

  • La valeur de l’attribut PreferredAlternate respecte la casse. Utilisez la casse Pascal pour les alternatives composées.

Exemple

<Dictionary>
      <Words>
         <Deprecated>
            <Term PreferredAlternate="LogOn">login</Term>
            ...
         </Deprecated>
         ...
      </Words>
      ...
</Dictionary>

Les termes du nœud Dictionary/Words/Deprecated sont appliqués aux règles d’analyse du code suivantes :

Dictionary/Words/Compound/Term[@CompoundAlternate]

Le dictionnaire intégré identifie certains termes comme des termes uniques et simples plutôt qu’un terme composé. Pour inclure un terme dans la liste des termes que l’analyse de code identifie comme un mot composé et pour spécifier la casse correcte du terme, ajoutez le terme en tant que texte interne d’un élément Dictionary/Words/Compound/Term. Dans l’attribut CompoundAlternate de l’élément Term, spécifiez les mots individuels qui composent le terme composé en écrivant en majuscule la première lettre des mots individuels (casse Pascal). Notez que le terme spécifié dans le texte interne est automatiquement ajouté à la liste Dictionary/Words/DiscreteExceptions.

  • Le terme composé dans l’élément Dictionary/Words/Compound/Term ne respecte pas la casse.

  • La valeur de l’attribut CompoundAlternate respecte la casse. Utilisez la casse Pascal pour les alternatives composées.

Exemple

<Dictionary>
      <Words>
         <Compound>
            <Term CompoundAlternate="CheckBox">checkbox</Term>
            ...
         </Compound>
         ...
      </Words>
      ...
</Dictionary>

Les termes du nœud Dictionary/Words/Compound sont appliqués aux règles d’analyse du code suivantes :

Dictionary/Words/DiscreteExceptions/Term

Pour exclure un terme de la liste des termes que l’analyse du code identifie comme un seul mot simple lorsque le terme est vérifié par les règles de casse pour les mots composés, ajoutez le terme en tant que texte interne d’un élément Dictionary/Words/DiscreteExceptions/Term. Le terme dans l’élément Dictionary/Words/DiscreteExceptions/Term ne respecte pas la casse.

Exemple

<Dictionary>
      <Words>
         <DiscreteExceptions>
            <Term>checkbox</Term>
            ...
         </DiscreteExceptions>
         ...
      </Words>
      ...
</Dictionary>

Les termes du nœud Dictionary/Words/DiscreteExceptions sont appliqués aux règles d’analyse du code suivantes :

Dictionary/Acronyms/CasingExceptions/Acronym

Pour inclure un acronyme dans la liste des termes que l’analyse du code identifie comme correctement orthographiés et pour indiquer comment l’acronyme est vérifié par les règles de casse pour les mots composés, ajoutez le terme en tant que texte interne d’un élément Dictionary/Acronyms/CasingExceptions/Acronym. L’acronyme dans l’élément Dictionary/Acronyms/CasingExceptions/Acronym respecte la casse.

Exemple

<Dictionary>
      <Acronyms>
         <CasingExceptions>
            <Acronym>NESW</Acronym>   <!-- North East South West -->
            ...
         </CasingExceptions>
         ...
      </Acronyms>
      ...
</Dictionary>

Les termes du nœud Dictionary/Acronyms/CasingExceptions sont appliqués aux règles d’analyse du code suivantes :

Pour appliquer un dictionnaire personnalisé à un projet

  1. Dans l’Explorateur de solutions, utilisez l’une des procédures suivantes :

    • Pour ajouter un dictionnaire à un seul projet, cliquez avec le bouton droit sur le nom du projet, puis cliquez sur Ajouter un élément existant. Pour les types de fichiers, choisissez Tous les fichiers, puis spécifiez le fichier dans la boîte de dialogue Ajouter un élément existant.

    • Pour ajouter un dictionnaire partagé entre plusieurs projets, recherchez le fichier à partager dans la boîte de dialogue Ajouter un élément existant, cliquez sur la flèche vers le bas sur le bouton Ajouter, puis cliquez sur Ajouter en tant que lien.

  2. Dans l’Explorateur de solutions, cliquez avec le bouton droit sur le nom de fichier CustomDictionary.xml, puis cliquez sur Propriétés.

  3. Dans la liste Action de génération, sélectionnez CodeAnalysisDictionary.

  4. Dans la liste Copier dans le répertoire de sortie, sélectionnez Ne pas copier.