Compartir vía


Diagnóstico de diseño de Android

Los diagnósticos de diseño de Android están diseñados para ayudar a mejorar la calidad de los archivos de diseño de Android resaltando problemas comunes de calidad y optimizaciones útiles. Esta característica está disponible tanto para Visual Studio 16.5 como para Visual Studio para Mac 8.5 y versiones posteriores.

Se proporciona un conjunto predeterminado de analizadores para una amplia gama de problemas y cada uno se puede personalizar para cubrir las necesidades específicas de un proyecto. Los analizadores se basan de forma flexible en el sistema de detección de errores de Android.

Habilitar diagnósticos de diseño de Android en Visual Studio 2019

Asegúrese de que la configuración de diagnóstico de diseño, Habilitar diagnósticos de diseño, está habilitada. Para acceder a esta página de opciones, elija Herramientas>Opciones y luego elija Editor de texto>Android XML>Avanzado:

Options dialog showing how to enable diagnostics option

Una vez habilitado, el editor de diseño de Android mostrará problemas:

Android diagnostics enabled on Visual Studio 2019

Características

En las secciones siguientes se describen las características disponibles en los diagnósticos de diseño de Android.

Analizadores

Los analizadores se usan para ayudar a detectar problemas en los archivos de diseño, reducir los valores codificados de forma rígida, mejorar el rendimiento y marcar errores. Para obtener una lista de analizadores, consulte Analizadores de diagnóstico de Android Designer

Configuración de diagnóstico

Los analizadores se pueden configurar mediante un archivo XML, lo que le permite cambiar el nivel de gravedad predeterminado, omitir determinados archivos y pasar variables.

Puede usar un archivo de línea base si tiene un conjunto de configuraciones que desea compartir entre varias aplicaciones Android. Para usar esta característica, cree un nuevo archivo de configuración y anexe -baseline al nombre de archivo. Las configuraciones de línea base se aplican primero y, a continuación, los archivos de configuración restantes.

Sugerencia

Esto puede ser útil si desea omitir un conjunto de problemas en una aplicación Android nueva o existente.

El formato es:

<?xml version="1.0" encoding="utf-8" ?> 
<configuration>
    <issue id="DuplicateIDs" severity="warning">
        <ignore path="Resources/layout/layout1.xml" />
    </issue>
    <issue id="HardcodedText" severity="informational">
        <ignore path="Resources/layout/layout1.xml" />
        <ignore path="Resource/layout/layout2.xml" />
    </issue>
    <issue id="TooManyViews">
        <variable name="MAX_VIEW_COUNT" value="12" />
    </issue>
    <issue id="TooDeepLayout">
        <variable name="MAX_DEPTH" value="12" />
    </issue>
</configuration>

Nota:

Actualmente, las únicas variables son MAX_VIEW_COUNT (valor predeterminado: 80) y MAX_DEPTH (valor predeterminado: 10) para TooManyViews y TooDeepLayout respectivamente.

Los niveles de gravedad son:

  • Sugerencia
  • Información
  • Advertencia
  • Error
  • Ignorar

Adición de un archivo de configuración

Cree un nuevo archivo XML en la raíz de un proyecto de aplicación de Android. El nombre del archivo no es importante, pero en este ejemplo se usa AndroidLayoutDiagnostics.xml:

Add New Item

Una vez agregado el nuevo archivo XML, debería aparecer en el árbol del proyecto de aplicación de Android:

Android App Project Tree

Asegúrese de que la acción de compilación esté establecida en AndroidResourceAnalysisConfig en el panel de propiedades. La forma más fácil de extraer el panel de propiedades del nuevo archivo es hacer clic derecho en el archivo y seleccionar propiedades. Una vez que se muestre el panel de propiedades, debe cambiar la acción de compilación a AndroidResourceAnalysisConfig:

Set Build Action in Item Properties

Ahora que tiene un archivo XML en blanco, debe agregar el elemento raíz <configuration>. En este momento, puede ajustar el comportamiento predeterminado de los problemas admitidos. Si desea asegurarse de que las cadenas codificadas de forma rígida se tratan como errores, agregue:

<issue="HardcodedText" severity="error">
</issue>

Diagnostics Configuration File

Ahora que el texto codificado de forma rígida se considera un error, ahora está marcado con un subrayado ondulado rojo en el editor de diseño:

Layout using Diagnostics Configuration

Nota:

Para que los nuevos cambios en los archivos de configuración surtan efecto, es necesario volver a abrir los archivos de diseño abiertos actualmente.

Solución de problemas

Estos son algunos posibles problemas comunes.

  • Asegúrese de que no hay ningún error de formato XML.
  • La acción de compilación se establece correctamente en AndroidResourceAnalysisConfig.

Problemas conocidos

  • El panel de errores no se rellena hasta después de cambiar el archivo la primera vez.