personalizar o dicionário da Análise de Código

A Análise de Código usa um dicionário interno para verificar identificadores em seu código quanto a erros de ortografia, maiúsculas e minúsculas, detalhes gramaticais e outras convenções de nomenclatura das diretrizes de design do .NET. Você pode criar um arquivo Xml de dicionário personalizado para adicionar, remover ou modificar termos, abreviações e acrônimos do dicionário interno.

Por exemplo, suponha que seu código contenha uma classe chamada DoorKnokker. A Análise de Código identificaria o nome como um composto de duas palavras: door e knokker. Em seguida, emitiria um aviso de que knokker não foi escrito com a ortografia correta. Para forçar a análise de código a reconhecer a ortografia, você pode adicionar o termo knokker ao dicionário personalizado.

Para criar um dicionário personalizado

Crie um arquivo chamado CustomDictionary.xml.

Defina suas palavras personalizadas usando a seguinte estrutura 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>

Elementos de dicionário personalizados

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

Dicionário/Palavras/Reconhecido/Word

Para incluir um termo na lista de termos que a análise de código identifica como escrito corretamente, adicione o termo como o texto interno de um elemento Dicionário/Palavras/Reconhecido/Word. Os termos nos elementos Dicionário/Palavras/Reconhecido/Word não diferenciam maiúsculas de minúsculas.

Exemplo

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

Os termos nos nós Dicionário/Palavras/Reconhecido são aplicados às seguintes regras de análise de código:

Dicionário/Palavras/Não Reconhecido/Word

Para excluir um termo na lista de termos que a análise de código identifica como escrito corretamente, adicione o termo a ser excluído como o texto interno de um elemento Dicionário/Palavras/Não Reconhecido/Word. Os termos nos elementos 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>

Os termos nos nós Dicionário/Palavras/Não Reconhecido são aplicados às seguintes regras de análise de código:

Dicionário/Palavras/Preterido/Termo[@PreferredAlternate]

Para incluir um termo na lista de termos que a análise de código identifica como escrito corretamente, adicione o termo como o texto interno de um elemento Dicionário/Palavras/Preterido/Termo. Um termo preterido é uma palavra que está escrita corretamente, mas não deve ser usada.

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

  • O termo preterido no elemento Dicionário/Palavras/Preterido/Termo não diferencia maiúsculas de minúsculas.

  • O valor do atributo PreferredAlternate diferencia maiúsculas de minúsculas. Use o caso Pascal para termos alternativos compostos.

Exemplo

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

Os termos nos nós Dicionário/Palavras/Preterido são aplicados às seguintes regras de análise de código:

Dicionário/Palavras/Composto/Termo[@CompoundAlternate]

O dicionário interno identifica alguns termos como termos únicos e discretos em vez de um termo composto. Para incluir um termo na lista de termos que a análise de código identifica como uma palavra composta e especificar o uso correto de maiúsculas e minúsculas do termo, adicione-o como o texto interno de um elemento Dicionário/Palavras/Composto/Termo. No atributo CompoundAlternate do elemento Term, especifique as palavras individuais que compõem o termo composto deixando maiúscula a primeira letra das palavras individuais (Pascal case). Observe que o termo especificado no texto interno é adicionado automaticamente à lista Dicionário/Palavras/DiscreteExceptions.

  • O termo composto no elemento Dicionário/Palavras/Composto/Termo não diferencia maiúsculas de minúsculas.

  • O valor do atributo CompoundAlternate diferencia maiúsculas de minúsculas. Use o Pascal case para termos alternativos compostos.

Exemplo

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

Os termos no nó Dicionário/Palavras/Composto são aplicados às seguintes regras de análise de código:

Dicionário/Palavras/DiscreteExceptions/Termo

Para excluir um termo na lista de termos que a análise de código identifica como uma única palavra discreta quando o termo é verificado pelas regras de maiúsculas e minúsculas para palavras compostas, adicione o termo como o texto interno de um elemento Dicionário/Palavras/DiscreteExceptions/Termo. O termo no elemento Dicionário/Palavras/DiscreteExceptions/Termo não diferencia maiúsculas de minúsculas.

Exemplo

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

Os termos no nó Dicionário/Palavras/DiscreteExceptions são aplicados às seguintes regras de análise de código:

Dicionário/Acrônimo/CasingExceptions/Acrônimo

Para incluir um acrônimo na lista de termos que a análise de código identifica como escrito corretamente e para indicar como o acrônimo quando o termo é verificado pelas regras de maiúsculas e minúsculas para palavras compostas, adicione o termo como o texto interno de um elemento Dicionário/Acrônimo/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>

Os termos no nó Dicionário/Palavras/CasingExceptions são aplicados às seguintes regras de análise de código:

Para aplicar um dicionário personalizado a um projeto

  1. No Gerenciador de Soluções, use um dos seguintes procedimentos:

    • Para adicionar um dicionário a um único projeto, clique com o botão direito do mouse no nome do projeto e depois clique em Adicionar Item Existente. Para tipos de arquivo, selecione Todos os Arquivos e especifique o arquivo na caixa de diálogo Adicionar Item Existente.

    • Para adicionar um dicionário compartilhado entre dois ou mais projetos, localize o arquivo a ser compartilhado na caixa de diálogo Adicionar Item Existente, clique na seta para baixo no botão Adicionar e depois clique em Adicionar como Link.

  2. No Gerenciador de Soluções, clique com o botão direito do mouse no nome do arquivo CustomDictionary.xml e, em seguida, clique em Propriedades.

  3. Na lista Ação de Build, selecione CodeAnalysisDictionary.

  4. Na lista Copiar para Diretório de Saída, selecione Não copiar.