Dostosowywanie słownika analizy kodu

Analiza kodu używa wbudowanego słownika do sprawdzania identyfikatorów w kodzie pod kątem błędów pisowni, wielkości liter gramatycznych i innych konwencji nazewnictwa wytycznych projektowych platformy .NET. Możesz utworzyć niestandardowy plik XML słownika, aby dodawać, usuwać lub modyfikować terminy, skróty i akronimy do wbudowanego słownika.

Załóżmy na przykład, że kod zawierał klasę o nazwie DoorKnokker. Analiza kodu identyfikuje nazwę jako związek dwóch słów: drzwi i knokker. Następnie zgłosi ostrzeżenie, że knokker nie został poprawnie wpisany. Aby wymusić analizę kodu w celu rozpoznania pisowni, możesz dodać do słownika niestandardowego termin knokker .

Aby utworzyć słownik niestandardowy

Utwórz plik o nazwie CustomDictionary.xml.

Zdefiniuj niestandardowe wyrazy przy użyciu następującej struktury XML:

<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>

Elementy słownika niestandardowego

Zachowanie słownika analizy kodu można zmodyfikować, dodając terminy jako tekst wewnętrzny następujących elementów w słowniku niestandardowym:

Słownik/wyrazy/rozpoznane/word

Aby uwzględnić termin na liście terminów, które analiza kodu identyfikuje jako poprawnie napisane, dodaj termin jako tekst wewnętrzny elementu Dictionary/Words/Recognized/Word. Terminy w słowniku/słowach/rozpoznanych/elementach programu Word nie są uwzględniane wielkości liter.

Przykład

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

Terminy w węzłach Słownik/Słowa/Rozpoznane są stosowane do następujących reguł analizy kodu:

Słownik/wyrazy/nierozpoznane/Word

Aby wykluczyć termin z listy terminów, które analiza kodu identyfikuje jako poprawnie napisane, dodaj termin do wykluczenia jako tekst wewnętrzny elementu Dictionary/Words/Unrecognized/Word. Terminy w słowniku/wyrazach/nierozpoznanych/elementach programu Word nie są uwzględniane wielkości liter.

Przykład

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

Terminy w węźle Słownik/Słowa/Nierozpoznane są stosowane do następujących reguł analizy kodu:

Słownik/słowa/przestarzałe/termin[@PreferredAlternate]

Aby uwzględnić termin na liście terminów, które analiza kodu identyfikuje jako przestarzałe, dodaj termin jako tekst wewnętrzny elementu Dictionary/Words/Deprecated/Term. Termin przestarzały to słowo, które jest poprawnie napisane, ale nie powinno być używane.

Aby uwzględnić sugerowany alternatywny termin w ostrzeżeniu, określ alternatywny atrybut PreferredAlternate elementu Term. Jeśli nie chcesz sugerować alternatywnej, możesz pozostawić wartość atrybutu pustą.

  • Przestarzały termin w słowniku/słowach/przestarzałych/elementach terminów nie uwzględnia wielkości liter.

  • Wartość atrybutu PreferredAlternate uwzględnia wielkość liter. Użyj wielkości liter Pascal dla złożonych alternatywnych.

Przykład

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

Terminy w węźle Słownik/Słowa/Przestarzałe są stosowane do następujących reguł analizy kodu:

Słownik/wyrazy/złożone/termin[@CompoundAlternate]

Wbudowany słownik identyfikuje niektóre terminy jako pojedyncze, dyskretne terminy, a nie termin złożony. Aby uwzględnić termin na liście terminów, które analiza kodu identyfikuje jako słowo złożone i aby określić poprawną wielkość liter terminu, dodaj termin jako tekst wewnętrzny elementu Słownik/Wyrazy/Złożone/Terminy. W atrybucie CompoundAlternate elementu Term określ poszczególne wyrazy, które składają się na termin złożony, wpisując pierwszą literę poszczególnych wyrazów (przypadek Pascala). Należy pamiętać, że termin określony w tekście wewnętrznym jest automatycznie dodawany do listy Dictionary/Words/DiscreteExceptions.

  • Termin złożony w słowniku/słowach/złożonych/terminach nie uwzględnia wielkości liter.

  • Wartość atrybutu CompoundAlternate uwzględnia wielkość liter. Użyj wielkości liter Pascal dla złożonych alternatywnych.

Przykład

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

Terminy w węźle Słownik/Słowa/Złożone są stosowane do następujących reguł analizy kodu:

Słownik/wyrazy/dyskretnewykrypcje/termin

Aby wykluczyć termin na liście terminów, które analiza kodu identyfikuje jako pojedynczy, dyskretny wyraz, gdy termin jest sprawdzany przez reguły wielkości liter dla wyrazów złożonych, dodaj termin jako tekst wewnętrzny elementu Dictionary/Words/DiscreteExceptions/Term. Termin w słowniku/słowach/dyskretnychexceptions/element term nie uwzględnia wielkości liter.

Przykład

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

Terminy w węźle Dictionary/Words/DiscreteExceptions są stosowane do następujących reguł analizy kodu:

Słownik/akronimy/CasingExceptions/Akronim

Aby dołączyć akronim na liście terminów, które analiza kodu identyfikuje jako poprawnie napisane i wskazać, jak akronim podczas sprawdzania terminu jest sprawdzany przez reguły wielkości liter dla wyrazów złożonych, dodaj termin jako tekst wewnętrzny elementu Dictionary/Akronimy/CasingExceptions/Akronim. Akronim w elemecie Dictionary/Akronimów/Akronimów/Akronim jest uwzględniany w wielkości liter.

Przykład

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

Terminy w węźle Słownik/Akronimy/CasingExceptions są stosowane do następujących reguł analizy kodu:

Aby zastosować słownik niestandardowy do projektu

  1. W Eksplorator rozwiązań użyj jednej z następujących procedur:

    • Aby dodać słownik do pojedynczego projektu, kliknij prawym przyciskiem myszy nazwę projektu, a następnie kliknij polecenie Dodaj istniejący element. W przypadku typów plików wybierz pozycję Wszystkie pliki, a następnie określ plik w oknie dialogowym Dodawanie istniejącego elementu .

    • Aby dodać słownik udostępniony między co najmniej dwoma projektami, znajdź plik do udostępnienia w oknie dialogowym Dodawanie istniejącego elementu , kliknij strzałkę w dół na przycisku Dodaj , a następnie kliknij przycisk Dodaj jako łącze.

  2. W Eksplorator rozwiązań kliknij prawym przyciskiem myszy nazwę pliku CustomDictionary.xml i kliknij polecenie Właściwości.

  3. Z listy Akcja kompilacji wybierz pozycję CodeAnalysisDictionary.

  4. Z listy Kopiuj do katalogu wyjściowego wybierz pozycję Nie kopiuj.