Cómo: Personalizar el diccionario de análisis de código
El análisis de código utiliza un diccionario integrado para comprobar los identificadores en el código en busca de faltas de ortografía, errores gramaticales y otras convenciones de nomenclatura de las instrucciones de .NET Framework. Puede crear un archivo Xml de diccionario personalizado para agregar, quitar o modificar términos, abreviaturas y acrónimos en el diccionario integrado.
Por ejemplo, supongamos que el código contiene una clase denominada DoorKnokker. La herramienta de análisis de código consideraría el nombre como un término compuesto de dos palabras: door y knokker. Entonces mostraría una advertencia para indicar que knokker no se ha escrito correctamente. Para obligar al análisis de código a reconocer la ortografía, agregue el término knokker al diccionario personalizado.
Para crear un diccionario personalizado
Cree un archivo denominado CustomDictionary.xml.
Defina las palabras personalizadas mediante la estructura XML siguiente:
<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 del diccionario personalizado
Puede modificar el comportamiento del diccionario de análisis de código agregando términos como el texto interno de los siguientes elementos del diccionario personalizado:
Dictionary/Words/Recognized/Word
Para incluir un término en la lista de palabras que el análisis de código identifica como correctamente escritas, agregue el término como texto interno de un elemento Dictionary/Words/Recognized/Word. Las palabras de Dictionary/Words/Recognized/Word no distinguen entre mayúsculas y minúsculas.
Ejemplo
<Dictionary>
<Words>
<Recognized>
<Word>knokker</Word>
...
</Recognized>
...
</Words>
...
</Dictionary>
Las palabras de los nodos Dictionary/Words/Recognized se aplican a las siguientes reglas del análisis de código:
CA1702: En las palabras compuestas se deberían utilizar las mayúsculas y minúsculas correctamente
CA1703: Las cadenas de recursos deberían tener la ortografía correcta
CA1704: Los identificadores deberían tener la ortografía correcta
CA1709: Los identificadores deberían utilizar las mayúsculas y minúsculas correctamente
Dictionary/Words/Unrecognized/Word
Para excluir un término de la lista de palabras que el análisis de código identifica como correctamente escritas, agregue el término que se va a excluir como texto interno de un elemento Dictionary/Words/Unrecognized/Word. Los términos de Dictionary/Words/Unrecognized/Word no distinguen entre mayúsculas y minúsculas.
Ejemplo
<Dictionary>
<Words>
<Unrecognized>
<Word>meth</Word>
...
</Unrecognized>
...
</Words>
...
</Dictionary>
Los términos del nodo Dictionary/Words/Unrecognized se aplican a las siguientes reglas del análisis de código:
CA1702: En las palabras compuestas se deberían utilizar las mayúsculas y minúsculas correctamente
CA1703: Las cadenas de recursos deberían tener la ortografía correcta
CA1704: Los identificadores deberían tener la ortografía correcta
CA1709: Los identificadores deberían utilizar las mayúsculas y minúsculas correctamente
Dictionary/Words/Deprecated/Term[@PreferredAlternate]
Para incluir un término en la lista de palabras que el análisis de código identifica como en desuso, agregue el término como texto interno de un elemento Dictionary/Words/Deprecated/Term. Un término desusado es una palabra que está bien escrita pero no se debe utilizar.
Para incluir un término alternativo sugerido en la advertencia, especifíquelo en el atributo PreferredAlternate del elemento Term. Puede dejar el valor de atributo vacío si no desea sugerir ninguno.
El término desusado del elemento Dictionary/Words/Deprecated/Term no distingue entre mayúsculas y minúsculas.
El valor de atributo PreferredAlternate distingue entre mayúsculas y minúsculas. Utilice la grafía Pascal para las alternativas compuestas.
Ejemplo
<Dictionary>
<Words>
<Deprecated>
<Term PreferredAlternate="LogOn">login</Term>
...
</Deprecated>
...
</Words>
...
</Dictionary>
Los términos del nodo Dictionary/Words/Deprecated se aplican a las siguientes reglas del análisis de código:
CA1702: En las palabras compuestas se deberían utilizar las mayúsculas y minúsculas correctamente
CA1703: Las cadenas de recursos deberían tener la ortografía correcta
CA1704: Los identificadores deberían tener la ortografía correcta
Dictionary/Words/Compound/Term[@CompoundAlternate]
El diccionario integrado identifica algunos términos como elementos únicos discretos, en lugar de como un término compuesto. Para incluir un término en la lista de palabras que el análisis de código identifica como palabra compuesta y para especificar la grafía correcta del mismo, agréguelo como texto interno de un elemento Dictionary/Words/Compound/Term. En el atributo CompoundAlternate del elemento Term, especifique las palabras individuales que constituyen el término compuesto poniendo en mayúsculas la primera letra de cada palabra (grafía Pascal). Observe que el término especificado en el texto interno se agrega automáticamente a la lista Dictionary/Words/DiscreteExceptions.
El término desusado del elemento Dictionary/Words/Deprecated/Term no distingue entre mayúsculas y minúsculas.
El valor de atributo PreferredAlternate distingue entre mayúsculas y minúsculas. Utilice la grafía Pascal para las alternativas compuestas.
Ejemplo
<Dictionary>
<Words>
<Compound>
<Term CompoundAlternate="CheckBox">checkbox</Term>
...
</Compound>
...
</Words>
...
</Dictionary>
Los términos del nodo Dictionary/Words/Compound se aplican a las siguientes reglas del análisis de código:
CA1702: En las palabras compuestas se deberían utilizar las mayúsculas y minúsculas correctamente
CA1703: Las cadenas de recursos deberían tener la ortografía correcta
CA1704: Los identificadores deberían tener la ortografía correcta
Dictionary/Words/DiscreteExceptions/Term
Para excluir un término en la lista de términos que el análisis de código identifica como una palabra única discreta cuando las reglas de grafía comprueban si es una palabra compuesta, agréguelo como texto interno de un elemento Dictionary/Words/DiscreteExceptions/Term. El término del elemento Dictionary/Words/DiscreteExceptions/Term no distingue entre mayúsculas y minúsculas.
Ejemplo
<Dictionary>
<Words>
<DiscreteExceptions>
<Term>checkbox</Term>
...
</DiscreteExceptions>
...
</Words>
...
</Dictionary>
Los términos del nodo Dictionary/Words/DiscreteExceptions se aplican a las siguientes reglas del análisis de código:
Dictionary/Acronyms/CasingExceptions/Acronym
Para incluir un acrónimo en la lista de términos que el análisis de código identifica como correctamente escritos y para indicar cómo las reglas de grafía comprueban si es una palabra compuesta, agréguelo como texto interno de un elemento Dictionary/Acronyms/CasingExceptions/Acronym. El acrónimo del elemento Dictionary/Acronyms/CasingExceptions/Acronym distingue entre mayúsculas y minúsculas.
Ejemplo
<Dictionary>
<Acronyms>
<CasingExceptions>
<Acronym>NESW</Acronym> <!-- North East South West -->
...
</CasingExceptions>
...
</Acronyms>
...
</Dictionary>
Los términos del nodo Dictionary/Acronyms/CasingExceptions se aplican a las siguientes reglas del análisis de código:
Para aplicar un diccionario personalizado a un proyecto
En el Explorador de soluciones, utilice uno de los siguientes procedimientos:
Para agregar un diccionario a un proyecto único, haga clic con el botón secundario en el nombre del proyecto y, a continuación, haga clic en Agregar elemento existente. En el cuadro de diálogo Agregar elemento existente, especifique el archivo.
Para agregar un diccionario compartido entre dos o más proyectos, busque el archivo para compartir en el cuadro de diálogo Agregar elemento existente, haga clic en la flecha abajo del botón Agregar y, a continuación, haga clic en Agregar como vínculo.
En el Explorador de soluciones, haga clic con el botón secundario en el nombre de archivo CustomDictionary.xml y, a continuación, haga clic en Propiedades.
En la lista Acción de compilación, seleccione CodeAnalysisDictionary.
En la lista Copiar en el directorio de salida, seleccione No copiar.