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:
Una volta abilitato, l'editor di layout Android visualizzerà i problemi:
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
:
Dopo aver aggiunto il nuovo file XML, dovrebbe essere visualizzato nell'albero del progetto di app Android:
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:
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>
Ora che il testo hardcoded è considerato un errore, viene ora contrassegnato con una sottolineatura ondulata rossa nell'editor di layout:
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.