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 anche tramite lo strumento Lint per assicurarti che il codice non presenti problemi strutturali. Lo strumento Lint consente di trovare codice strutturato male, che può influire sull'affidabilità e sull'efficienza delle tue app per 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'utilizzo di elementi deprecati o chiamate API non supportati dalle versioni dell'API target, potrebbero causare un errore di esecuzione del codice. Lint può aiutarti a risolvere questi problemi.

Per migliorare le prestazioni del 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 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à per consentirti di dare la priorità ai miglioramenti critici da apportare. Puoi anche ridurre il livello di gravità di un problema per ignorare i problemi non pertinenti per il tuo progetto o aumentare il livello di gravità per evidenziare problemi specifici.

Lo strumento Lint controlla i file di origine del progetto Android per individuare potenziali bug e miglioramenti dell'ottimizzazione relativi a correttezza, sicurezza, prestazioni, usabilità, accessibilità e internazionalizzazione. Quando utilizzi Android Studio, le ispezioni lint e IDE configurate vengono eseguite durante la creazione dell'app. Tuttavia, puoi eseguire le ispezioni manualmente o 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 individua un problema, evidenzia il codice problematico in giallo. In caso di problemi più gravi, sottolinea il codice 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 ulteriori ispezioni del codice IntelliJ per semplificare la revisione del codice.

La figura 1 mostra in che modo lo strumento Lint elabora i file di origine delle app.

Flusso di lavoro di 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 di origine sono costituiti dai file che compongono il progetto Android, inclusi file, icone e file di configurazione ProGuard di Kotlin, Java e XML.
Il file lint.xml
Un file di configurazione che puoi utilizzare per specificare gli eventuali controlli lint che vuoi escludere e per personalizzare i livelli di gravità dei problemi.
Lo strumento Lint
Uno strumento di scansione statico del codice che puoi eseguire nel 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 da 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 ulteriori dettagli, consulta la sezione sull'esecuzione manuale dei controlli.

Esegui lint dalla riga di comando

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

  • Su Windows:
    gradlew lint
    
  • Su 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 per le versioni XML e HTML del report Lint. Puoi quindi accedere al report HTML e aprirlo nel tuo browser, come mostrato nella figura 2.

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

Se il progetto include varianti build, lint controlla solo la variante predefinita. Se vuoi eseguire lint su una variante diversa, devi scrivere il nome della variante in maiuscolo e anteporre lint al prefisso.

./gradlew lintRelease

Per scoprire di più sull'esecuzione delle attività Gradle dalla riga di comando, vedi Creare la tua 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 per 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, ricevi un errore. Dovresti usare sempre 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 in una directory di progetto, usa il comando seguente:

lint [flags] <project directory>

Ad esempio, puoi inviare il seguente comando per eseguire la scansione dei file nella directory myproject e nelle relative sottodirectory. L'ID problema MissingPrefix indica a lint di cercare solo gli attributi XML senza il 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 denominato 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 senza errori.

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 il lint per eliminare gli avvisi

Per impostazione predefinita, quando esegui una scansione lint lo strumento controlla tutti i problemi supportati da lint. Puoi anche limitare i problemi da verificare per il lint e assegnare livelli di gravità ai problemi. Ad esempio, puoi eliminare il controllo lint per problemi specifici non pertinenti al tuo progetto e puoi configurare il lint per segnalare problemi non critici con 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 Progetto
  • Modulo Produzione
  • Modulo di test
  • Apri i file
  • Gerarchia delle classi
  • Ambiti del sistema di controllo delle versioni (VCS)

Configura il file lint

Puoi specificare le preferenze di controllo lint nel file lint.xml. Se crei il file manualmente, posizionalo nella directory root del tuo progetto Android.

Il file lint.xml è costituito da un tag principale <lint> che contiene uno o più elementi <issue> secondari. Lint definisce un valore univoco dell'attributo id 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 lint per il problema, imposta l'attributo della gravità nel tag <issue>.

Suggerimento: per un elenco completo dei problemi supportati da lint e i relativi ID dei problemi, 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 è stato disabilitato completamente e il controllo ObsoleteLayoutParam viene disabilitato solo nei file specificati nelle dichiarazioni <ignore ... /> allegate.

Configura il controllo lint per i 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 impostarle per l'IDE o per singoli progetti selezionando il profilo appropriato.

Configura il controllo lint in Java o Kotlin

Per disabilitare il controllo lint specificatamente 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 verificare la presenza del problema NewApi in altri metodi di questa classe.

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 formato 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 evitare 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 dei lint in XML

Utilizza l'attributo tools:ignore per disattivare il controllo lint per sezioni specifiche dei tuoi 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 rilevare il problema UnusedResources in un elemento <LinearLayout> di un file di layout XML. L'attributo ignore viene ereditato dagli elementi secondari dell'elemento principale in cui viene dichiarato l'attributo. In questo esempio, il controllo del lint è disabilitato anche per l'elemento <TextView> figlio:

<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 disattivare più di un problema, elencali in una stringa separata da virgole. Ad esempio:

tools:ignore="NewApi,StringFormatInvalid"

Per evitare 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 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
    }
}
...

Alla moda

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 eseguono l'override del livello di gravità specificato di un problema rispettano l'ordine di configurazione. Ad esempio, l'impostazione di un problema come irreversibile in finalizeDsl() sostituisce la sua disattivazione nel DSL principale.

Crea una base di riferimento per gli avvisi

Puoi acquisire uno snapshot dell'insieme attuale di avvisi del progetto, quindi utilizzarlo come base per le esecuzioni future di ispezione, in modo che vengano segnalati solo i nuovi problemi. Lo snapshot di base consente di iniziare a utilizzare il lint per arrestare la build senza dover prima tornare indietro e risolvere 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")
    }
}

Alla moda

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

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

Quindi, esegui il lint dall'IDE selezionando Codice > Ispeziona codice o dalla riga di comando come segue. L'output stampa la posizione 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 attivare il controllo della versione per il file lint-baseline.xml se vuoi condividerlo con altri.

Personalizzare la base di 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")
    }
}

Alla moda

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, ricevi un avviso informativo che indica che uno o più problemi sono stati esclusi perché sono elencati nella base di riferimento. Questo avviso ti aiuta a ricordare che hai configurato una base di riferimento e che a un certo punto devi risolvere tutti i problemi.

Questo avviso informativo tiene traccia anche dei problemi che non vengono più segnalati. Queste informazioni ti consentono di sapere se hai effettivamente risolto i problemi, quindi puoi facoltativamente ricreare la base di riferimento per evitare che un errore si ripeta senza essere rilevato.

Nota: le basi 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 basi di riferimento sono destinate al caso in cui un codebase abbia un numero elevato di avvisi esistenti, ma si consiglia di risolvere i problemi localmente mentre si tocca il codice.

Eseguire le ispezioni manualmente

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

Impostare l'ambito e il profilo di ispezione

Seleziona i file da analizzare (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 dell'ispezione, esamina le impostazioni.

    Specifica l&#39;ambito dell&#39;ispezione
    Figura 3. Rivedi le impostazioni dell'ambito dell'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 il pulsante di opzione File selezionati.

    Per cambiare gli elementi da ispezionare, seleziona uno degli altri pulsanti di opzione. Consulta la finestra di dialogo Specifica ambito ispezione per una descrizione di tutti i campi possibili nella finestra di dialogo Specifica ambito 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 IDE e lint dall'esecuzione di Esamina codice:

    Seleziona un problema per vedere come viene risolto.
    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 per la categoria, il tipo o il problema selezionato nel riquadro Risultati dell'ispezione, nonché il nome e la posizione dell'errore. Se applicabile, il report di ispezione mostra altre informazioni, ad esempio la sinossi di un 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:

    • Passa 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 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 disponibili:

    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 del progetto: solo i file di produzione nel progetto corrente.
    • File di test del progetto: solo i file di test nel progetto corrente.
    • Scratch e console: solo i file scratch e le console che hai aperto nel progetto corrente.
    • File visualizzati di recente: solo i file visualizzati di recente nel progetto corrente.
    • File attuale: solo il file attuale nel progetto corrente. Viene visualizzata quando hai selezionato un file o una cartella.
    • Directory selezionata: solo la cartella corrente nel progetto corrente. Viene visualizzata quando è selezionata una cartella.
    • Gerarchia dei corsi: quando selezioni questa opzione e fai clic su OK, viene visualizzata una finestra di dialogo con tutti i corsi nel progetto corrente. Nella finestra di dialogo, utilizza il campo Cerca per nome per filtrare e seleziona i corsi da esaminare. Se non filtri l'elenco dei corsi, l'ispezione del codice controlla tutte le classi.

    Se per il progetto hai configurato una VCS, puoi anche limitare la ricerca ai file che sono stati modificati.

  3. Fai clic su OK.

Crea un ambito personalizzato

Quando vuoi ispezionare una selezione di file e directory non coperta 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.

    Finestra di dialogo Specifica l&#39;ambito dell&#39;ispezione
    Figura 6. Finestra di dialogo Specifica l'ambito dell'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 Add Scope (Aggiungi ambito) visualizzato, seleziona Local (Locale).

    Sia gli ambiti locale che quelli condivisi vengono utilizzati all'interno del progetto per la funzionalità Esamina codice. Un ambito condiviso può essere utilizzato anche con altre funzionalità di progetto che dispongono di un campo ambito. Ad esempio, quando fai clic su Modifica impostazioni per cambiare le impostazioni per Trova utilizzi, la finestra di dialogo risultante ha 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.

    Il riquadro a destra della finestra di dialogo Ambiti viene popolato con opzioni che consentono di definire l'ambito personalizzato.

  6. Seleziona Progetto dall'elenco.

    Viene visualizzato un elenco dei progetti disponibili.

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

  7. Espandi le cartelle del progetto, seleziona gli elementi da aggiungere all'ambito personalizzato e scegli se includerlo o escluderlo.

    Definisci un ambito personalizzato
    Figura 9. Definisci un ambito personalizzato.
    • Includi: includi questa cartella e i relativi file, ma non include le relative sottocartelle.
    • Includi ricorsivamente: include questa cartella e i relativi file, nonché le relative sottocartelle e i relativi file.
    • Escludi: escludi questa cartella e i relativi file, ma non escludere alcuna delle relative sottocartelle.
    • Escludi in modo ricorsivo: escludi questa cartella e i relativi file, nonché le relative sottocartelle e i file corrispondenti.

    La figura 10 mostra che la cartella main è inclusa e che le cartelle java e res sono incluse in modo ricorsivo. Il blu indica una cartella parzialmente inclusa e il verde indica che le cartelle e i file sono 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 in verde non compare nella cartella java e in tutte le cartelle e i file al suo interno.
    • Se selezioni il file MainActivity.kt evidenziato in verde e fai clic su Escludi, MainActivity.kt non è più evidenziato in verde, ma 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 il nome, le descrizioni, la 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 di 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 Predefinite progetto (il progetto attivo).

    Per ulteriori informazioni, consulta la pagina Gestisci 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 al suo interno come un'unica ispezione.

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