Como: Personalizar o dicionário de análise de código

Análise de código usa um dicionário interno para verificar os identificadores em seu código para erros de ortografia, caso gramatical e outras convenções de nomeação da .NET Framework diretrizes. Você pode criar um arquivo Xml do dicionário personalizado para adicionar, remover ou modificar os termos, abreviações e acrônimos ao dicionário interno.

Por exemplo, suponha que seu código contido em uma classe chamada DoorKnokker. Análise de código identificaria o nome como um composto de duas palavras: porta e knokker. Ele então iria disparar um aviso que knokker não foi digitado corretamente. Para forçar a reconhecer a ortografia de análise de código, você pode adicionar o termo knokker ao dicionário personalizado.

Para criar um dicionário personalizado

Criar um arquivo chamado CustomDictionary.xml.

Defina as palavras personalizadas usando a estrutura XML a seguir:

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

Elementos do dicionário personalizado

Você pode modificar o comportamento do dicionário de análise de código adicionando termos como o texto interno dos seguintes elementos no dicionário personalizado:

Dicionário de palavras/reconhecido//Word

Para incluir um termo na lista de termos que identifica a análise de código como escrito corretamente, adicione o termo como o texto interno de um elemento/palavras/reconhecido/palavra do dicionário. Termos de elementos do dicionário/palavras/reconhecido/Word não diferenciam maiúsculas de minúsculas.

Exemplo

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

Termos de palavras/dicionário/reconhecido nós são aplicados as regras de análise de código seguinte:

Dicionário de palavras/não reconhecido//Word

Para excluir um termo da lista de termos que identifica a análise de código como escrito corretamente, adicione o termo a ser excluído como o texto interno de um elemento/palavras/não reconhecido/palavra do dicionário. Termos de elementos do dicionário/palavras/não reconhecido/Word não diferenciam maiúsculas de minúsculas.

Exemplo

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

Termos no nó dicionário/palavras/não reconhecido são aplicados as regras de análise de código seguinte:

Dictionary/Words/Deprecated/Term[@PreferredAlternate]

Para incluir um termo na lista de termos que identifica de análise de código como desaprovado, adicione o termo como o texto interno de um elemento de dicionário/palavras/obsoleto/termo. Um termo obsoleto é uma palavra que está escrita corretamente, mas não deve ser usada.

Para incluir um termo de alternativo sugerido no aviso, especifique a alternativa no atributo PreferredAlternate do elemento termo. Você pode deixar o valor do atributo vazio se não desejar sugerir uma alternativa.

  • O termo preterido palavras do dicionário/obsoleto/termo não é diferencia maiúsculas de minúsculas.

  • O valor do atributo PreferredAlternate diferencia maiúsculas de minúsculas. Caso de Pascal de uso de alternativas de compostos.

Exemplo

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

Termos no nó de palavras/dicionário/obsoleto são aplicados as regras de análise de código seguinte:

Dictionary/Words/Compound/Term[@CompoundAlternate]

O dicionário interno identifica alguns termos como termos simples e discretos, em vez de um termo composto. Para incluir um termo na lista de termos que identifica de análise de código como uma palavra composta e especificar a capitalização correta do termo, adicione o termo como o texto interno de um elemento de dicionário/palavras/composto/termo. O atributo CompoundAlternate do elemento termo, especifica as palavras individuais que compõem o termo composto colocando em maiúscula a primeira letra das palavras individuais (caso Pascal). Observe que o termo especificado no texto interno é automaticamente adicionado à lista de palavras/dicionário/DiscreteExceptions.

  • O termo preterido palavras do dicionário/obsoleto/termo não é diferencia maiúsculas de minúsculas.

  • O valor do atributo PreferredAlternate diferencia maiúsculas de minúsculas. Caso de Pascal de uso de alternativas de compostos.

Exemplo

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

Termos no nó de palavras/dicionário/compostos são aplicados as regras de análise de código seguinte:

Dicionário/palavras/DiscreteExceptions/termo

Para excluir um termo na lista de termos que identifica de análise de código como um único, o word discreto quando o termo é marcado por regras casing para palavras compostas, adicione o termo como o texto interno de um elemento de dicionário/palavras/DiscreteExceptions/termo. O termo no elemento de dicionário/palavras/DiscreteExceptions/termo não diferencia maiúsculas de minúsculas.

Exemplo

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

Termos no nó de palavras/dicionário/DiscreteExceptions são aplicados as regras de análise de código seguinte:

Dicionário/acrônimos/CasingExceptions/acrônimo

Para incluir um acrônimo na lista de termos que identifica de análise de código como corretamente escrito e para indicar como o acrônimo quando o termo é marcado por regras casing para palavras compostas, adicionar o termo como o texto interno de um elemento de dicionário/acrônimos/CasingExceptions/acrônimo. O acrônimo no elemento dicionário/acrônimos/CasingExceptions/acrônimo diferencia maiúsculas de minúsculas.

Exemplo

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

Termos no nó acrônimos/dicionário/CasingExceptions são aplicados as regras de análise de código seguinte:

Para aplicar um dicionário personalizado a um projeto

  1. Em Solution Explorer, use um dos seguintes procedimentos:

  2. Para adicionar um dicionário para um único projeto, clique com o botão direito no nome do projeto e clique em Add Existing Item. Especifique o arquivo de Add Existing Item caixa de diálogo.

  3. Para adicionar um dicionário que é compartilhado entre dois ou mais projetos, localize o arquivo para compartilhar o Add Existing Item diálogo, clique na seta para baixo no Add botão e, em seguida, clique em Add As Link.

  4. Em Solution Explorer, com o botão direito do CustomDictionary.xml nome de arquivo e clique em Propriedades.

  5. Do Build Action lista, selecione CodeAnalysisDictionary.

  6. Do Copy to Output Directory lista, selecione não copie.