Diagnostica del layout Android

La diagnostica del layout Android è progettata per migliorare la qualità dei file di layout Android evidenziando problemi di qualità comuni e ottimizzazioni utili. Questa funzionalità è disponibile sia per Visual Studio 16.5+ che per Visual Studio per Mac 8.5+.

Viene fornito un set predefinito di analizzatori per un'ampia gamma di problemi e ognuno può essere personalizzato per soddisfare le esigenze specifiche di un progetto. Gli analizzatori sono liberamente basati sul sistema di linting Android.

Abilitare la diagnostica del layout Android in Visual Studio 2019

Assicurarsi che l'impostazione di diagnostica del layout, Abilita diagnostica layout, sia abilitata. Per accedere a questa pagina delle opzioni, scegliere Opzioni strumenti>e quindi scegliere Editor>di testo Android XML>Avanzate:

Options dialog showing how to enable diagnostics option

Una volta abilitato, l'editor di layout Android visualizzerà i problemi:

Android diagnostics enabled on Visual Studio 2019

Funzionalità

Le sezioni seguenti illustrano le funzionalità disponibili nella diagnostica del layout Android.

Analizzatori

Gli analizzatori vengono usati per rilevare i problemi nei file di layout, ridurre i valori hardcoded, migliorare le prestazioni e contrassegnare gli errori. Per un elenco degli analizzatori, vedere Analizzatori di diagnostica di Progettazione Android

Configurazione diagnostica

Gli analizzatori possono essere configurati usando un file XML, consentendo di modificare il livello di gravità predefinito, ignorare determinati file e passare variabili.

È possibile usare un file di base se si dispone di un set di configurazioni da condividere tra più app Android. Per usare questa funzionalità, creare un nuovo file di configurazione e accodare -baseline al nome del file. Le configurazioni di base vengono applicate prima e quindi i file di configurazione rimanenti.

Suggerimento

Questo può essere utile se vuoi ignorare un set di problemi in un'app Android nuova o esistente.

Il formato è:

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

Attualmente le uniche variabili sono MAX_VIEW_COUNT (impostazione predefinita: 80) e MAX_DEPTH (impostazione predefinita: 10) rispettivamente per TooManyViews e TooDeepLayout .

I livelli di gravità sono:

  • Suggerimento
  • Informazioni
  • Avviso
  • Errore
  • Ignora

Aggiungere un file di configurazione

Creare un nuovo file XML nella radice di un progetto di app Android. Il nome del file non è importante, ma questo esempio usa AndroidLayoutDiagnostics.xml:

Add New Item

Dopo aver aggiunto il nuovo file XML, dovrebbe essere visualizzato nell'albero del progetto di app Android:

Android App Project Tree

Assicurarsi che l'azione di compilazione sia impostata su AndroidResourceAnalysisConfig nel pannello delle proprietà. Il modo più semplice per estrarre il pannello delle proprietà per il nuovo file consiste nel fare clic con il pulsante destro del mouse sul file e selezionare le proprietà. Dopo aver visualizzato il pannello delle proprietà, è necessario modificare l'azione di compilazione in AndroidResourceAnalysisConfig:

Set Build Action in Item Properties

Dopo aver creato un file XML vuoto, è necessario aggiungere l'elemento <configuration> radice. A questo punto, è possibile modificare il comportamento predefinito di eventuali problemi supportati. Se si vuole assicurarsi che le stringhe hardcoded vengano considerate come errori, aggiungere:

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

Diagnostics Configuration File

Ora che il testo hardcoded è considerato un errore, viene ora contrassegnato con una sottolineatura ondulata rossa nell'editor di layout:

Layout using Diagnostics Configuration

Nota

Per rendere effettive le modifiche apportate ai nuovi file di configurazione, è necessario riaprire tutti i file di layout aperti.

Risoluzione dei problemi

Ecco alcuni possibili problemi comuni.

  • Assicurarsi che non siano presenti errori di formato XML.
  • L'azione di compilazione è impostata correttamente su AndroidResourceAnalysisConfig.

Problemi noti

  • Il riquadro degli errori non viene popolato fino a quando il file non viene modificato per la prima volta.