Migliora il codice con i controlli di lint

Oltre a creare test per assicurarti che la tua app soddisfi i requisiti funzionali, è importante eseguire il codice tramite lo strumento lint per assicurarti che il codice non presenti problemi strutturali. Lo strumento lint consente di trovare codice mal strutturato che può influire sull'affidabilità e sull'efficienza delle tue app Android e rendere il codice più difficile da gestire. Ti consigliamo vivamente di correggere eventuali errori rilevati da lint prima di pubblicare l'app.

Ad esempio, se i file di risorse XML contengono spazi dei nomi inutilizzati, questo occupa spazio e richiede un'elaborazione non necessaria. Altri problemi strutturali, come l'uso di elementi deprecati o chiamate API non supportate dalle versioni dell'API di destinazione, potrebbero causare un errore di esecuzione del codice. Lint può aiutarti a risolvere questi problemi.

Per migliorare le prestazioni del rilevamento tramite lint, puoi anche aggiungere annotazioni al codice.

Panoramica

Android Studio offre uno strumento di scansione del codice chiamato lint, che può aiutarti a identificare e correggere i problemi relativi alla qualità strutturale del tuo codice senza dover eseguire l'app o scrivere scenari di test. Ogni problema rilevato dallo strumento viene segnalato con un messaggio descrittivo e un livello di gravità in modo che tu possa dare la priorità ai miglioramenti critici da apportare. Puoi anche abbassare il livello di gravità di un problema per ignorare i problemi non pertinenti per il tuo progetto o aumentarne il livello per evidenziare problemi specifici.

Lo strumento lint controlla i file di origine del progetto Android per individuare potenziali bug e migliorare l'ottimizzazione in termini di correttezza, sicurezza, prestazioni, usabilità, accessibilità e internazionalizzazione. Quando utilizzi Android Studio, vengono eseguite le ispezioni lint e IDE configurate durante la creazione dell'app. Tuttavia, puoi eseguire le ispezioni manualmente o eseguire lint dalla riga di comando, come descritto in questa pagina.

Lo strumento lint integrato controlla il codice mentre utilizzi Android Studio. Puoi visualizzare avvisi ed errori in due modi:

  • Come testo popup nella finestra dell'editor. Quando lint rileva un problema, evidenzia il codice problematico in giallo. In caso di problemi più gravi, il codice viene sottolineato in rosso.
  • Nella finestra Risultati ispezione lint quando fai clic su Codice > Ispeziona codice.

Nota: quando il codice viene compilato in Android Studio, vengono eseguite ispezioni del codice IntelliJ aggiuntive per semplificare la revisione del codice.

La figura 1 mostra il modo in cui lo strumento lint elabora i file sorgente delle app.

Flusso di lavoro della scansione del codice con lo strumento lint.
Figura 1. Flusso di lavoro di scansione del codice con lo strumento lint.
File di origine delle app
I file sorgente sono file che compongono il tuo progetto Android, tra cui file Kotlin, Java e XML, icone e file di configurazione ProGuard.
Il file lint.xml
Un file di configurazione che puoi utilizzare per specificare eventuali controlli lint da escludere e per personalizzare i livelli di gravità dei problemi.
Lo strumento lint
Uno strumento di scansione di codice statico che puoi eseguire sul tuo progetto Android dalla riga di comando o in Android Studio. Lo strumento lint verifica la presenza di problemi di codice strutturale che potrebbero influire sulla qualità e sulle prestazioni della tua app per Android.
Risultati del controllo lint
Puoi visualizzare i risultati dal lint nella console o nella finestra Risultati dell'ispezione in Android Studio. Se esegui lint dalla riga di comando, i risultati vengono scritti nella cartella build/. Per maggiori dettagli, consulta la sezione sull'esecuzione manuale delle ispezioni.

Esegui lint dalla riga di comando

Se usi Android Studio o Gradle, utilizza il wrapper Gradle per richiamare l'attività lint per il tuo progetto inserendo uno dei seguenti comandi dalla directory root del progetto:

  • Su Windows:
    gradlew lint
    
  • In Linux o macOS:
    ./gradlew lint
    

Dovresti vedere un output simile al seguente:

> Task :app:lintDebug
Wrote HTML report to file:<path-to-project>/app/build/reports/lint-results-debug.html

Quando lo strumento lint completa i controlli, fornisce i percorsi alle versioni XML e HTML del report lint. Puoi quindi accedere al report HTML e aprirlo nel browser, come mostrato nella figura 2.

Esempio di report lint HTML
Figura 2. Esempio di report lint HTML.

Se il progetto include varianti della build, il lint controlla solo la variante predefinita. Se vuoi eseguire lint su una variante diversa, devi utilizzare le maiuscole per il nome della variante e il prefisso lint.

./gradlew lintRelease

Per scoprire di più sull'esecuzione delle attività Gradle dalla riga di comando, vedi Creare un'app dalla riga di comando.

Esegui lint utilizzando lo strumento autonomo

Se non utilizzi Android Studio o Gradle, installa gli strumenti a riga di comando dell'SDK Android per utilizzare lo strumento lint autonomo. Individua lo strumento lint in android_sdk/cmdline-tools/version/bin/lint.

Nota: se tenti di eseguire lo strumento autonomo su un progetto Gradle, viene restituito un errore. Dovresti sempre usare gradle lint (su Windows) o ./gradlew lint (su macOS o Linux) per eseguire lint su un progetto Gradle.

Per eseguire lint su un elenco di file nella directory di un progetto, utilizza il comando seguente:

lint [flags] <project directory>

Ad esempio, puoi eseguire il comando seguente per eseguire la scansione dei file nella directory myproject e nelle relative sottodirectory. L'ID problema MissingPrefix indica al lint di cercare solo gli attributi XML privi del prefisso dello spazio dei nomi Android.

lint --check MissingPrefix myproject 

Per visualizzare l'elenco completo dei flag e degli argomenti della riga di comando supportati dallo strumento, utilizza il seguente comando:

lint --help

L'esempio seguente mostra l'output della console quando il comando lint viene eseguito su un progetto chiamato Earthquake:

$ lint Earthquake

Scanning Earthquake: ...............................................................................................................................
Scanning Earthquake (Phase 2): .......
AndroidManifest.xml:23: Warning: <uses-sdk> tag appears after <application> tag [ManifestOrder]
  <uses-sdk android:minSdkVersion="7" />
  ^
AndroidManifest.xml:23: Warning: <uses-sdk> tag should specify a target API level (the highest verified version; when running on later versions, compatibility behaviors may be enabled) with android:targetSdkVersion="?" [UsesMinSdkAttributes]
  <uses-sdk android:minSdkVersion="7" />
  ^
res/layout/preferences.xml: Warning: The resource R.layout.preferences appears to be unused [UnusedResources]
res: Warning: Missing density variation folders in res: drawable-xhdpi [IconMissingDensityFolder]
0 errors, 4 warnings

L'output di esempio elenca quattro avvisi e nessun errore.

Due avvisi riguardano il file AndroidManifest.xml del progetto:

  • ManifestOrder
  • UsesMinSdkAttributes
Un avviso riguarda il file di layout Preferences.xml: UnusedResources.

Un avviso riguarda la directory res: IconMissingDensityFolder.

Configura lint per eliminare gli avvisi

Per impostazione predefinita, quando esegui una scansione lint, lo strumento verifica la presenza di tutti i problemi supportati da lint. Puoi anche limitare i problemi da verificare tramite lint e assegnare livelli di gravità per i problemi. Ad esempio, puoi eliminare il controllo tramite lint per problemi specifici non pertinenti per il tuo progetto e puoi configurare lint per segnalare problemi non critici a un livello di gravità inferiore.

I livelli di gravità sono:

  • enable
  • disable o ignore
  • informational
  • warning
  • error
  • fatal

Puoi configurare il controllo lint per diversi livelli:

  • A livello globale (intero progetto)
  • Modulo di progetto
  • Modulo di produzione
  • Testa il modulo
  • Apri i file
  • Gerarchia dei corsi
  • Ambiti del sistema di controllo della versione (VCS)

Configura il file lint

Puoi specificare le preferenze di controllo lint nel file lint.xml. Se stai creando questo file manualmente, inseriscilo nella directory root del progetto Android.

Il file lint.xml è costituito da un tag principale <lint> che include uno o più elementi <issue> secondari. Lint definisce un valore di attributo id univoco per ogni <issue>:

<?xml version="1.0" encoding="UTF-8"?>
<lint>
    <!-- list of issues to configure -->
</lint>

Per modificare il livello di gravità di un problema o disattivare il controllo tramite lint del problema, imposta l'attributo di gravità nel tag <issue>.

Suggerimento: per un elenco completo dei problemi supportati da lint e i relativi ID problema, esegui il comando lint --list.

File lint.xml di esempio

L'esempio seguente mostra i contenuti di un file lint.xml:

<?xml version="1.0" encoding="UTF-8"?>
<lint>
    <!-- Disable the IconMissingDensityFolder check in this project -->
    <issue id="IconMissingDensityFolder" severity="ignore" />

    <!-- Ignore the ObsoleteLayoutParam issue in the specified files -->
    <issue id="ObsoleteLayoutParam">
        <ignore path="res/layout/activation.xml" />
        <ignore path="res/layout-xlarge/activation.xml" />
    </issue>

    <!-- Ignore the UselessLeaf issue in the specified file -->
    <issue id="UselessLeaf">
        <ignore path="res/layout/main.xml" />
    </issue>

    <!-- Change the severity of hardcoded strings to "error" -->
    <issue id="HardcodedText" severity="error" />
</lint>

Questo esempio mostra come vengono segnalati i diversi tipi di problemi. Il controllo IconMissingDensityFolder è disabilitato completamente e il controllo ObsoleteLayoutParam è disattivato solo nei file specificati nelle dichiarazioni <ignore ... /> allegate.

Configura il controllo lint per file di origine Kotlin, Java e XML

Puoi disattivare il controllo lint per i file di origine Kotlin, Java e XML nella finestra di dialogo Preferenze:

  1. Seleziona File > Impostazioni (su Windows) o Android Studio > Preferenze (su macOS o Linux).
  2. Seleziona Editor > Ispezioni.
  3. Per disattivarla, deseleziona il file di origine appropriato.

Puoi impostarli per l'IDE o per singoli progetti selezionando il profilo appropriato.

Configura il controllo lint in Java o Kotlin

Per disattivare il controllo lint in modo specifico per una classe o un metodo nel tuo progetto Android, aggiungi l'annotazione @SuppressLint a quel codice.

L'esempio seguente mostra come disattivare il controllo lint per il problema NewApi nel metodo onCreate. Lo strumento lint continua a controllare il problema NewApi in altri metodi di questo corso.

Kotlin

@SuppressLint("NewApi")
override fun onCreate(savedInstanceState: Bundle?) {
    super.onCreate(savedInstanceState)
    setContentView(R.layout.main)

Java

@SuppressLint("NewApi")
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);

Lo stesso può essere fatto su qualsiasi componibile. Il seguente snippet di codice mostra come disattivare i controlli NewApi su qualsiasi componibile.

Kotlin

  @SuppressLint("NewApi")
  @Composable
  fun MyComposable{
    ...
  }
  

L'esempio seguente mostra come disattivare il controllo lint per il problema ParserError nella classe FeedProvider:

Kotlin

@SuppressLint("ParserError")
class FeedProvider : ContentProvider() {

Java

@SuppressLint("ParserError")
public class FeedProvider extends ContentProvider {

Per impedire il controllo di tutti i problemi di lint nel file, utilizza la parola chiave all:

Kotlin

@SuppressLint("all")

Java

@SuppressLint("all")

Puoi utilizzare la stessa annotazione per eliminare i controlli lint su qualsiasi funzione componibile.

Configura il controllo lint in XML

Utilizza l'attributo tools:ignore per disattivare il controllo lint di sezioni specifiche dei file XML. Inserisci il seguente valore dello spazio dei nomi nel file lint.xml in modo che lo strumento lint riconosca l'attributo:

namespace xmlns:tools="http://schemas.android.com/tools"

L'esempio seguente mostra come disattivare il controllo lint per il problema UnusedResources in un elemento <LinearLayout> di un file di layout XML. L'attributo ignore viene ereditato dagli elementi figlio dell'elemento principale in cui viene dichiarato l'attributo. In questo esempio, il controllo lint è disabilitato anche per l'elemento <TextView> secondario:

<LinearLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    tools:ignore="UnusedResources" >

    <TextView
        android:text="@string/auto_update_prompt" />
</LinearLayout>

Per disabilitare più problemi, elencali in una stringa separata da virgole. Ad esempio:

tools:ignore="NewApi,StringFormatInvalid"

Per impedire il controllo di tutti i problemi di lint nell'elemento XML, utilizza la parola chiave all:

tools:ignore="all"

Configura le opzioni lint con Gradle

Il plug-in Android per Gradle consente di configurare determinate opzioni di lint, ad esempio quali controlli eseguire o ignorare, utilizzando il blocco lint{} nel file build.gradle a livello di modulo.

Il seguente snippet di codice mostra alcune delle proprietà che puoi configurare:

Kotlin

android {
    ...
    lint {
        // Turns off checks for the issue IDs you specify.
        disable += "TypographyFractions" + "TypographyQuotes"
        // Turns on checks for the issue IDs you specify. These checks are in
        // addition to the default lint checks.
        enable += "RtlHardcoded" + "RtlCompat" + "RtlEnabled"
        // To enable checks for only a subset of issue IDs and ignore all others,
        // list the issue IDs with the 'check' property instead. This property overrides
        // any issue IDs you enable or disable using the properties above.
        checkOnly += "NewApi" + "InlinedApi"
        // If set to true, turns off analysis progress reporting by lint.
        quiet = true
        // If set to true (default), stops the build if errors are found.
        abortOnError = false
        // If set to true, lint only reports errors.
        ignoreWarnings = true
        // If set to true, lint also checks all dependencies as part of its analysis.
        // Recommended for projects consisting of an app with library dependencies.
        checkDependencies = true
    }
}
...

trendy

android {
    ...
    lint {
        // Turns off checks for the issue IDs you specify.
        disable 'TypographyFractions','TypographyQuotes'
        // Turns on checks for the issue IDs you specify. These checks are in
        // addition to the default lint checks.
        enable 'RtlHardcoded','RtlCompat', 'RtlEnabled'
        // To enable checks for only a subset of issue IDs and ignore all others,
        // list the issue IDs with the 'check' property instead. This property overrides
        // any issue IDs you enable or disable using the properties above.
        checkOnly 'NewApi', 'InlinedApi'
        // If set to true, turns off analysis progress reporting by lint.
        quiet true
        // If set to true (default), stops the build if errors are found.
        abortOnError false
        // If set to true, lint only reports errors.
        ignoreWarnings true
        // If set to true, lint also checks all dependencies as part of its analysis.
        // Recommended for projects consisting of an app with library dependencies.
        checkDependencies true
    }
}
...

Tutti i metodi lint che sostituiscono il livello di gravità specificato di un problema rispettano l'ordine di configurazione. Ad esempio, se un problema viene impostato come irreversibile in finalizeDsl(), viene sostituito la disattivazione nella risorsa DSL principale.

Crea una base di riferimento per gli avvisi

Puoi acquisire uno snapshot dell'insieme di avvisi attuale del progetto, quindi utilizzare lo snapshot come riferimento per le future esecuzioni di ispezione, in modo che vengano segnalati solo i nuovi problemi. Lo snapshot di riferimento ti consente di iniziare a utilizzare lint per non eseguire la build senza dover tornare indietro e risolvere prima tutti i problemi esistenti.

Per creare uno snapshot di riferimento, modifica il file build.gradle del progetto come segue:

Kotlin

android {
    lint {
        baseline = file("lint-baseline.xml")
    }
}

trendy

android {
    lintOptions {
        baseline file("lint-baseline.xml")
    }
}

Quando aggiungi per la prima volta questa riga, viene creato il file lint-baseline.xml per stabilire il riferimento. Da quel momento in poi, gli strumenti si limitano a leggere il file per determinare il riferimento. Se vuoi creare una nuova base di riferimento, elimina manualmente il file ed esegui di nuovo lint per ricrearlo.

Quindi, esegui l'lint dall'IDE selezionando Codice > Ispeziona codice o dalla riga di comando come segue. L'output stampa il percorso del file lint-baseline.xml. La posizione del file per la configurazione potrebbe essere diversa da quella mostrata qui:

$ ./gradlew lintDebug -Dlint.baselines.continue=true
...
Wrote XML report to file:///app/lint-baseline.xml
Created baseline file /app/lint-baseline.xml

L'esecuzione di lint registra tutti i problemi attuali nel file lint-baseline.xml. L'insieme di problemi attuali è chiamato base di riferimento. Puoi controllare il file lint-baseline.xml nel controllo della versione se vuoi condividerlo con altre persone.

Personalizza il riferimento

Se vuoi aggiungere solo determinati tipi di problemi alla base di riferimento, specifica i problemi da aggiungere modificando il file build.gradle del progetto come segue:

Kotlin

android {
    lint {
        checkOnly += "NewApi" + "HandlerLeak"
        baseline = file("lint-baseline.xml")
    }
}

trendy

android {
    lintOptions {
        checkOnly 'NewApi', 'HandlerLeak'
        baseline file("lint-baseline.xml")
    }
}

Se aggiungi nuovi avvisi al codebase dopo aver creato la base di riferimento, lint elenca solo i bug appena introdotti.

Avviso di riferimento

Quando è attiva una base di riferimento, viene visualizzato un avviso informativo che indica che uno o più problemi sono stati filtrati perché elencati nella base di riferimento. Questo avviso ti aiuta a ricordare che hai configurato una base di riferimento e che devi risolvere tutti i problemi a un certo punto.

Questo avviso informativo tiene traccia anche di problemi che non vengono più segnalati. Queste informazioni consentono di sapere se i problemi sono stati effettivamente risolti, in modo da poter eventualmente ricreare la base di riferimento per evitare che un errore torni inosservato.

Nota: le linee di riferimento vengono abilitate quando esegui ispezioni in modalità batch nell'IDE, ma vengono ignorate per i controlli nell'editor eseguiti in background durante la modifica di un file. Questo perché le linee di riferimento sono destinate ai casi in cui un codebase ha un numero elevato di avvisi esistenti, ma vuoi risolvere i problemi localmente mentre tocchi il codice.

Esegui ispezioni manualmente

Per eseguire manualmente l'ispezione lint configurata e altre ispezioni IDE, seleziona Codice > Ispeziona codice. I risultati dell'ispezione vengono visualizzati nella finestra Risultati dell'ispezione.

Imposta l'ambito e il profilo di ispezione

Seleziona i file da analizzare (l'ambito di ispezione) e le ispezioni da eseguire (il profilo di ispezione) come segue:

  1. Nella visualizzazione Android, apri il progetto e seleziona il progetto, la cartella o il file da analizzare.
  2. Nella barra dei menu, seleziona Codice > Ispeziona codice.
  3. Nella finestra di dialogo Specifica ambito di ispezione, rivedi le impostazioni.

    Specifica l&#39;ambito dell&#39;ispezione
    Figura 3. Rivedi le impostazioni dell'ambito di ispezione.

    Le opzioni visualizzate nella finestra di dialogo Specifica ambito di ispezione variano a seconda che tu abbia selezionato un progetto, una cartella o un file:

    • Quando selezioni un progetto, un file o una directory, la finestra di dialogo Specifica l'ambito di ispezione mostra il percorso del progetto, del file o della directory che hai selezionato.
    • Quando selezioni più di un progetto, file o directory, la finestra di dialogo Specifica ambito di ispezione mostra un pulsante di opzione selezionato per File selezionati.

    Per modificare gli elementi da ispezionare, seleziona uno degli altri pulsanti di opzione. Consulta la finestra di dialogo Specifica ambito di ispezione per una descrizione di tutti i possibili campi nella finestra di dialogo Specifica ambito di ispezione.

  4. In Profilo di ispezione, seleziona il profilo che vuoi utilizzare.
  5. Fai clic su OK per eseguire l'ispezione.

    La figura 4 mostra i risultati dell'ispezione lint e di altri tipi di ispezione IDE dall'esecuzione di Ispeziona codice:

    Seleziona un problema per visualizzarne la risoluzione.
    Figura 4. Risultati dell'ispezione. Seleziona un problema per vedere la risoluzione.
  6. Nel riquadro Risultati dell'ispezione, visualizza i risultati dell'ispezione espandendo e selezionando categorie, tipi o problemi di errore.

    Il riquadro Report di ispezione mostra il report di ispezione relativo alla categoria, al tipo o al problema di errore selezionato nel riquadro Risultati dell'ispezione, oltre al nome e alla posizione dell'errore. Ove applicabile, il report di ispezione mostra altre informazioni, ad esempio un riepilogo del problema, per aiutarti a risolverlo.

  7. Nella visualizzazione ad albero del riquadro Risultati dell'ispezione, fai clic con il tasto destro del mouse su una categoria, un tipo o un problema per visualizzare il menu contestuale.

    A seconda del contesto, puoi:

    • Vai all'origine.
    • Escludi e includi gli elementi selezionati.
    • Elimina i problemi.
    • Modifica le impostazioni.
    • Gestisci gli avvisi di ispezione.
    • Esegui di nuovo un'ispezione.

Per descrizioni dei pulsanti della barra degli strumenti, delle voci del menu contestuale e dei campi del report di ispezione, consulta la finestra dello strumento Risultati dell'ispezione.

Utilizza un ambito personalizzato

Utilizza uno degli ambiti personalizzati forniti in Android Studio come segue:

  1. Nella finestra di dialogo Specifica ambito di ispezione, seleziona Ambito personalizzato.
  2. Fai clic sull'elenco Ambito personalizzato per visualizzare le opzioni a tua disposizione:

    Scegli l&#39;ambito dell&#39;ispezione
    Figura 5. Seleziona l'ambito personalizzato che vuoi utilizzare.
    • Tutti i luoghi: tutti i file.
    • File di progetto:tutti i file del progetto corrente.
    • File di origine del progetto: solo i file di origine nel progetto corrente.
    • File di produzione progetto: solo i file di produzione nel progetto corrente.
    • File di test del progetto: solo i file di test nel progetto corrente.
    • Graffi e console: solo i file temporanei e le console che hai aperto nel progetto corrente.
    • File visualizzati di recente: solo i file visualizzati di recente nel progetto corrente.
    • File corrente: solo il file corrente nel progetto corrente. Viene visualizzata quando hai selezionato un file o una cartella.
    • Directory selezionata:solo la cartella corrente nel progetto corrente. Viene visualizzato quando è selezionata una cartella.
    • Gerarchia dei corsi: quando selezioni questa opzione e fai clic su OK, viene visualizzata una finestra di dialogo con tutte le classi del progetto corrente. Nella finestra di dialogo, utilizza il campo Cerca per nome per filtrare e selezionare le classi da controllare. Se non filtri l'elenco delle classi, l'ispezione del codice ne esamina tutte le classi.

    Se hai configurato una VCS per il progetto, sono disponibili anche opzioni per limitare la ricerca ai soli file modificati.

  3. Fai clic su OK.

Crea un ambito personalizzato

Quando vuoi esaminare una selezione di file e directory non coperti da nessuno degli ambiti personalizzati attualmente disponibili, puoi creare un ambito personalizzato:

  1. Nella finestra di dialogo Specifica ambito di ispezione, seleziona Ambito personalizzato.
  2. Fai clic sui tre puntini dopo l'elenco Ambito personalizzato.

    Specifica la finestra di dialogo Ambito di ispezione
    Figura 6. Specifica la finestra di dialogo Ambito di ispezione.

    Viene visualizzata la finestra di dialogo Ambiti.

    Crea un ambito personalizzato
    Figura 7. Crea un ambito personalizzato.
  3. Fai clic sul pulsante nell'angolo in alto a sinistra della finestra di dialogo per definire un nuovo ambito.
  4. Nell'elenco Aggiungi ambito visualizzato, seleziona Locale.

    Sia l'ambito locale che quello condiviso vengono utilizzati all'interno del progetto per la funzionalità Ispeziona codice. Un ambito Condiviso può essere utilizzato anche con altre funzionalità del progetto che hanno un campo di ambito. Ad esempio, se fai clic su Modifica impostazioni per modificare le impostazioni di Trova utilizzi, la finestra di dialogo visualizzata include un campo Ambito in cui puoi selezionare un ambito condiviso.

    Seleziona un ambito condiviso dalla finestra di dialogo Trova utilizzi
    Figura 8. Seleziona un ambito condiviso dalla finestra di dialogo Trova utilizzi.
  5. Assegna un nome all'ambito e fai clic su OK.

    Nel riquadro a destra della finestra di dialogo Ambiti vengono visualizzate le opzioni che consentono di definire l'ambito personalizzato.

  6. Seleziona Progetto dall'elenco.

    Viene visualizzato un elenco dei progetti disponibili.

    Nota:puoi creare l'ambito personalizzato per progetti o pacchetti. I passaggi sono gli stessi.

  7. Espandi le cartelle del progetto, seleziona ciò che vuoi aggiungere all'ambito personalizzato e scegli se includerlo o escluderlo.

    Definisci un ambito personalizzato
    Figura 9. Definisci un ambito personalizzato.
    • Includi: includi la cartella e i relativi file, ma non includere sottocartelle.
    • Includi in modo ricorsivo: includi questa cartella e i relativi file, oltre alle relative sottocartelle e ai relativi file.
    • Escludi: escludi la cartella in questione e i relativi file, ma non le relative sottocartelle.
    • Escludi in modo ricorsivo: escludi questa cartella e i relativi file, nonché le relative sottocartelle e i relativi file.

    La figura 10 mostra che è inclusa la cartella main e che le cartelle java e res sono incluse in modo ricorsivo. Il blu indica una cartella inclusa parzialmente, mentre il verde indica le cartelle e i file inclusi in modo ricorsivo.

    Pattern di esempio per un ambito personalizzato
    Figura 10. Pattern di esempio per un ambito personalizzato.
    • Se selezioni la cartella java e fai clic su Escludi in modo ricorsivo, l'evidenziazione verde scompare nella cartella java e in tutte le cartelle e i file sottostanti.
    • Se selezioni il file MainActivity.kt evidenziato in verde e fai clic su Escludi, MainActivity.kt non è più evidenziato in verde, mentre tutto il resto nella cartella java rimane verde.
  8. Fai clic su Ok. L'ambito personalizzato viene visualizzato in fondo all'elenco.

Rivedi e modifica i profili di ispezione

Android Studio offre una selezione di lint e altri profili di ispezione che vengono aggiornati tramite gli aggiornamenti di Android. Puoi utilizzare questi profili così come sono o modificarne i nomi, le descrizioni, le gravità e gli ambiti. Puoi anche attivare e disattivare interi gruppi di profili o singoli profili all'interno di un gruppo.

Per accedere alle impostazioni Ispezioni:

  1. Seleziona File > Impostazioni. (su Windows) o Android Studio > Preferenze (su macOS o Linux).
  2. Seleziona Editor > Ispezioni.
  3. Il riquadro Ispezioni mostra un elenco delle ispezioni supportate e le relative descrizioni.

    Ispezioni supportate e relative descrizioni
    Figura 11. Ispezioni supportate e relative descrizioni.
  4. Seleziona l'elenco Profilo per passare dalle ispezioni Predefinite (Android Studio) a Predefinita progetto (il progetto attivo).

    Per ulteriori informazioni, consulta la pagina Gestione dei profili di IntelliJ.

  5. Nell'elenco Ispezioni nel riquadro a sinistra, seleziona una categoria di profilo di primo livello oppure espandi un gruppo e seleziona un profilo specifico.

    Quando selezioni una categoria di profilo, puoi modificare tutte le ispezioni in quella categoria come un'unica ispezione.

  6. Seleziona l'elenco Mostra azioni schema Icona Mostra azioni schema per copiare, rinominare, aggiungere descrizioni, esportare e importare le ispezioni.
  7. Quando hai terminato, fai clic su OK.