Comment : personnaliser le dictionnaire d'analyse du code

L'analyse du code utilise un dictionnaire intégré pour rechercher dans les identificateurs de votre code, les erreurs d'orthographe, de casse grammaticale, et d'autres conventions d'affectation des noms des règles .NET Framework. Vous pouvez créer un fichier Xml de dictionnaire personnalisé pour ajouter, supprimer ou modifier des termes, des abréviations et des acronymes au dictionnaire intégré.

Par exemple, supposez que votre code contient une classe nommée DoorKnokker (Heurtoire). L'analyse du code identifie le nom comme un terme composé de deux mots : door et knokker. Elle déclencherait ensuite un avertissement pour signaler que knokker (heurtoire) n'est pas correctement orthographié. Pour forcer l'analyse du code à reconnaître l'orthographe, vous pouvez ajouter knokker au dictionnaire personnalisé.

Pour créer un dictionnaire personnalisé

Créez un fichier nommé CustomDictionary.xml.

Définissez vos mots personnalisés en utilisant 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 d'analyse du code 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 épelés, ajoutez ce terme comme texte interne d'un élément Dictionary/Words/Recognized/Word. Les termes de l'élément Dictionary/Words/Recognized/Word ne respectent pas la casse.

Exemple

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

Les termes du noeud 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 épelés, ajoutez ce terme comme texte interne d'un élément Dictionary/Words/Unrecognized/Word. Les termes de l'élément Dictionary/Words/Unrecognized/Word ne respectent pas la casse.

Exemple

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

Les termes du noeud 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 ce terme comme texte interne d'un élément Dictionary/Words/Deprecated/Term. Un terme déconseillé est un mot qui est correctement épelé mais ne doit pas être utilisé.

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

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

  • La valeur d'attribut PreferredAlternate respecte la casse. Utilisez la casse Pascal pour les autres termes composés.

Exemple

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

Les termes du noeud 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 uniques, discrets et non comme composés. Pour inclure un terme dans la liste des termes que l'analyse du code identifie comme mot composé et spécifier la casse correcte du terme, ajoutez ce terme comme 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 mettant en majuscules 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 déconseillé de l'élément Dictionary/Words/ Deprecated/Term ne respecte pas la casse.

  • La valeur d'attribut PreferredAlternate respecte la casse. Utilisez la casse Pascal pour les autres termes composés.

Exemple

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

Les termes du noeud 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 mot unique, discret lorsque le terme est vérifié par les règles de casse pour les mots composés, ajoutez ce terme comme texte interne d'un élément Dictionary/Words/DiscreteExceptions/Term. Le terme de 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 noeud 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 épelés et indiquer comment l'acronyme est vérifié par les règles de casse pour les mots composés, ajoutez ce terme comme texte interne d'un élément Dictionary/Acronyms/CasingExceptions/Acronym. L'acronyme de 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 noeud Dictionary/Acronyms/CasingExceptions sont appliqués aux règles d'analyse du code suivantes :

Pour appliquer un dictionnaire personnalisé à un type

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

  2. Pour ajouter un dictionnaire à un projet unique, cliquez avec le bouton droit sur le nom du projet puis cliquez sur Ajouter un élément existant. Spécifiez le fichier dans la boîte de dialogue Ajouter un élément existant.

  3. Pour ajouter un dictionnaire partagé entre deux projets ou plus, localisez le fichier à partager dans la boîte de dialogue Ajouter un élément existant, cliquez sur la flèche Bas du bouton Ajouter, puis sur Ajouter en tant que lien.

  4. Dans l'Explorateur de solutions, cliquez avec le bouton droit sur le nom de fichier CustomDictionary.xml et cliquez sur Propriétés.

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

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