20/12/2007 16:15 El Bruno

[VS2008] Corrector ortografico en las reglas para el Analisis de Codigo

Buenas

una de las cosillas que más me gusta de Microsoft Visual Studio 2008, es que en el nuevo set de reglas de análisis de código (heredado de FxCop 1.35) se incluye la posibilidad de verificar la ortografía del código que escribimos. No voy a entrar en detalles sobre si esta nueva feature esta bien o mal, pero si explicaré como activar la misma, porque realmente da unos resultados muy interesantes.

Si creamos un nuevo proyecto de tipo Aplicación de Consola en Visual Basic .Net o C#; podremos ver dentro de las reglas de análisis de código del mismo un par de reglas nuevas, por ejemplo las CA1703: Resource strings should be spelled correctlyCA1704: Identifiers should be spelled correctly:

 

La primera regla valida la ortografía de los contenidos que agreguemos en los archivos de recursos de nuestro proyecto. A simple vista, la prueba de esta regla debería ser tan simple como crear un nuevo recurso y agregar texto inváido dentro del mismo:

 

 

Sin embargo, en este punto surgen un par de preguntas que debemos tener en cuenta para "ayudar" al motor de análisis de código: con qué cultura trabajaremos por defecto? y qué cultura es la que tiene por defecto nuestro archivo de recursos?.

Pues bien, para definir esta información, en primer lugar debemos editar nuestro archivo de proyecto y agregar el siguiente contenido:

</PropertyGroup> <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration> <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform> <ProductVersion>9.0.21022</ProductVersion> <SchemaVersion>2.0</SchemaVersion> ... <CodeAnalysisCulture>en-US</CodeAnalysisCulture> </PropertyGroup>

donde el elemento <CodeAnalysisCulture /> define la cultura que se utilizará para el análisis de código en la configuración definida por el elemento <Configuration />. En este caso he decido utilizar la cultura de nuestros amigos de Seattle: en-US.

Adicionalmente, para definir la cultura por defecto que poseerá nuestro archivo de recursos debemos modificar el archivo AssemblyInfo.vb de nuestro proyecto y agregar el siguiente atributo:

Imports System.Resources ''' Aditional Code goes here <Assembly: NeutralResourcesLanguageAttribute("en-US")>

Donde el atributo System.Resources.NeutralResourcesLanguageAttribute define la cultura para el archivo de recursos de nuestro proyecto.

Pues bien, en este momento si compilamos nuestro proyecto y habilitamos el análisis de código, podremos ver el siguiente Warning:

MSBUILD : warning : CA1703 : Microsoft.Naming : In resource 'ConsoleApplication1.Resources.resx', referenced by name 'MyName', correct the spelling of 'nombre' in string value 'Mi nombre es Bruno'. Code Analysis Complete -- 0 error(s), 1 warning(s) Done building project "ConsoleApplication1.vbproj". ------ Build started: Project: ClassLibrary1, Configuration: Debug Any CPU ------ ClassLibrary1 -> C:\Projects\Labs2008\Project1\ConsoleApplication1\ClassLibrary1\bin\Debug\ClassLibrary1.dll ========== Build: 2 succeeded or up-to-date, 0 failed, 0 skipped ==========

¿La solución? pues cambio el valor del recurso por un contenido válido en inglés y todo compila perfectamente.

Aunque he aquí un par de datos interesantes

  • la corrección ortográfica funciona utilizando el modelo de objetos de Word 2003, asi que si piensan en un entorno con un servidor de compilacion (TFS), es necesario pensar además en una licencia de Word para este servidor.
  • Esta feature no funciona por defecto con Office 2007 (o eso me parece). Sin embargo, si instalamos las Office 2003 Proofing Tools se activa el funcionamiento.

Pueden descargar el proyecto de ejemplo desde http://geeks.ms/files/folders/elbruno/entry58807.aspx

Update: si además quieren utilizar un diccionario personalizado para la corección ortográfica, el amigo Luis ha escrito un excelente artículo hace un tiempo; http://geeks.ms/blogs/lfraile/archive/2007/08/22/agregar-quot-palabros-quot-al-diccionario-del-code-analysis-en-orcas.aspx

 

Saludos @ La Finca

El Bruno

Crossposting from ElBruno.com
Comparte este post:

# re: [VS2008] Corrector ortografico en las reglas para el Analisis de Codigo

Thursday, December 20, 2007 5:31 PM by Luis Fraile

sólo un apunte, es muy habitual que tengamos palabras que no están en ningún diccionario, y que por el nombre de nuestro producto (p.ej.: Multidomo) necesitamos añdirlas aldiccionario, por si alguno está interesado, escribí acerca de esto hace un tiempo, con tu permiso Bruno, pongo el link:

geeks.ms/.../agregar-quot-palabros-quot-al-diccionario-del-code-analysis-en-orcas.aspx

# re: [VS2008] Corrector ortografico en las reglas para el Analisis de Codigo

Friday, December 21, 2007 9:30 AM by El Bruno

Hey Luis !!!

pues buenísimo porque estaba justo por tirar unas líneas al respecto, asi que "con tu permiso" he actualizado el post y he hecho una referencia a tu post :D

Gracias por el dato

Saludos

# re: [VS2008] Corrector ortografico en las reglas para el Analisis de Codigo

Friday, December 21, 2007 8:17 PM by Lucas Ontivero

Que esta es una buena noticia no caben dudas, lo que sí, por qué siempre llagan tarde estas cosas a nuestro mundo? Hace cuanto que eclipse lo tenia?

Obviamente no es una crítica sino un anhelo de tener estas cosas antes que la competencia :)

Saludos.