Meningkatkan kode dengan pemeriksaan lint

Selain mem-build pengujian untuk memastikan aplikasi Anda memenuhi persyaratan fungsionalnya, Anda juga harus menjalankan kode melalui alat lint untuk membantu memastikan kode Anda tidak memiliki masalah struktural. Alat lint ini membantu menemukan struktur kode yang buruk, yang dapat memengaruhi keandalan dan efisiensi aplikasi Android serta membuat kode semakin sulit dipelihara. Sebaiknya Anda mengoreksi setiap error yang dideteksi oleh lint sebelum memublikasikan aplikasi.

Misalnya, jika file resource XML Anda berisi namespace yang tidak terpakai, hal ini akan menghabiskan ruang dan memerlukan pemrosesan yang tidak perlu. Masalah struktural lainnya, seperti penggunaan elemen yang usang atau panggilan API yang tidak didukung oleh versi API target, dapat menyebabkan kode gagal dijalankan dengan benar. Lint dapat membantu Anda mengatasi masalah ini.

Untuk meningkatkan performa lint, Anda juga dapat menambahkan anotasi ke kode.

Ringkasan

Android Studio menyediakan alat pemindaian kode yang disebut lint untuk membantu Anda mengidentifikasi dan memperbaiki masalah pada kualitas struktural kode tanpa perlu menjalankan aplikasi atau menulis kasus pengujian. Setiap masalah yang terdeteksi oleh alat ini akan dilaporkan dengan disertai pesan deskripsi dan tingkat keparahan, sehingga Anda dapat memprioritaskan perbaikan penting yang perlu dilakukan. Anda juga dapat menurunkan tingkat keparahan masalah untuk mengabaikan masalah yang tidak relevan dengan project Anda atau menaikkan tingkat keparahan untuk menyoroti masalah tertentu.

Alat lint memeriksa file sumber project Android untuk menemukan kemungkinan bug dan peningkatan pengoptimalan guna mencapai ketepatan, keamanan, performa, kegunaan, aksesibilitas, serta internasionalisasi. Saat menggunakan Android Studio, pemeriksaan lint dan IDE yang telah dikonfigurasi akan dijalankan saat Anda mem-build aplikasi. Namun, Anda dapat menjalankan pemeriksaan secara manual atau menjalankan lint dari command line, seperti yang dijelaskan di halaman ini.

Alat lint bawaan akan memeriksa kode selagi Anda menggunakan Android Studio. Anda dapat menampilkan peringatan dan error dengan dua cara:

  • Sebagai teks pop-up di jendela editor. Saat menemukan masalah, lint akan menandai kode yang bermasalah dengan warna kuning. Untuk masalah yang lebih serius, lint akan menggarisbawahi kode dengan warna merah.
  • Di jendela Inspection Results lint saat Anda mengklik Code > Inspect Code.

Catatan: Jika kode Anda dikompilasi di Android Studio, pemeriksaan kode IntelliJ tambahan akan dijalankan untuk mengefisienkan peninjauan kode. Pastikan Android Studio selalu menggunakan versi terbaru untuk memastikan aturan dan pemeriksaan lint terbaru tersedia.

Gambar 1 menunjukkan cara alat lint memproses file sumber aplikasi.

Alur kerja pemindaian kode dengan alat lint.
Gambar 1. Alur kerja pemindaian kode dengan alat lint.
File sumber aplikasi
File sumber terdiri dari file yang menyusun project Android Anda, termasuk file XML, Java, dan Kotlin, ikon, serta file konfigurasi ProGuard.
File lint.xml
File konfigurasi yang dapat Anda gunakan untuk menetapkan pemeriksaan lint yang ingin dikecualikan dan untuk menyesuaikan tingkat keparahan masalah.
Alat lint
Alat pemindaian kode statis yang dapat Anda jalankan pada project Android baik dari command line maupun di Android Studio. Alat lint memeriksa masalah kode struktural yang dapat memengaruhi kualitas dan performa aplikasi Android Anda.
Hasil pemeriksaan lint
Anda dapat melihat hasil dari lint di konsol atau jendela Inspection Results di Android Studio. Jika Anda menjalankan lint dari command line, hasilnya akan ditulis ke folder build/. Untuk detail lebih lanjut, lihat bagian tentang menjalankan pemeriksaan secara manual.

Menjalankan lint dari command line

Jika Anda menggunakan Android Studio atau Gradle, gunakan Gradle wrapper untuk memanggil tugas lint untuk project Anda dengan memasukkan salah satu perintah berikut dari direktori utama project:

Catatan: Pastikan plugin Android Gradle selalu yang terbaru untuk menggunakan aturan lint terbaru.

  • Di Windows:
    gradlew lint
    
  • Di Linux atau macOS:
    ./gradlew lint
    

Anda akan melihat output yang mirip dengan berikut ini:

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

Setelah menyelesaikan pemeriksaannya, alat lint akan menyediakan jalur ke laporan lint versi XML dan HTML. Selanjutnya, Anda dapat mengakses laporan HTML dan membukanya di browser, seperti yang ditunjukkan pada gambar 2.

Contoh laporan lint versi HTML
Gambar 2. Contoh laporan lint HTML.

Jika project Anda menyertakan varian build, lint hanya akan memeriksa varian default. Jika ingin menjalankan lint pada varian lain, Anda harus menuliskan nama varian dengan huruf besar dan menambahkan awalan lint.

./gradlew lintRelease

Catatan: Lint tidak otomatis dijalankan sebagai bagian dari build Anda. Sebaiknya jalankan lint secara eksplisit sebagai bagian dari build integrasi berkelanjutan sehingga Anda melihat pemeriksaan lint terbaru saat mem-build kode sumber yang ada.

Untuk mempelajari lebih lanjut cara menjalankan tugas Gradle dari command line, baca Mem-build aplikasi dari command line.

Menjalankan lint menggunakan alat mandiri

Jika tidak menggunakan Android Studio atau Gradle, instal alat command line Android SDK untuk menggunakan alat lint mandiri. Temukan alat lint di android_sdk/cmdline-tools/version/bin/lint.

Catatan: Jika Anda mencoba menjalankan alat mandiri di project Gradle, alat tersebut akan menampilkan error. Anda harus selalu menggunakan gradle lint (di Windows) atau ./gradlew lint (di macOS atau Linux) untuk menjalankan lint di project Gradle.

Untuk menjalankan lint pada daftar file dalam sebuah direktori project, gunakan perintah berikut:

lint [flags] <project directory>

Misalnya, Anda dapat mengeluarkan perintah berikut untuk memindai file dalam direktori myproject dan subdirektorinya. ID masalah MissingPrefix memberi tahu lint untuk hanya memindai atribut XML yang tidak memiliki awalan namespace Android.

lint --check MissingPrefix myproject 

Untuk melihat daftar lengkap flag dan argumen command-line yang didukung oleh alat ini, gunakan perintah berikut:

lint --help

Contoh berikut menampilkan output konsol saat perintah lint dijalankan pada project yang bernama 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

Contoh output mencantumkan empat peringatan dan tidak ada error.

Dua peringatan terkait dengan file AndroidManifest.xml project:

  • ManifestOrder
  • UsesMinSdkAttributes
Satu peringatan terkait file tata letak Preferences.xml: UnusedResources.

Satu peringatan terkait direktori res: IconMissingDensityFolder.

Mengonfigurasi lint untuk menyembunyikan peringatan

Secara default, saat Anda menjalankan pemindaian lint, alat ini akan memeriksa semua masalah yang didukung lint. Anda juga dapat membatasi masalah yang akan diperiksa lint, dan Anda dapat menetapkan tingkat keparahan untuk masalah. Misalnya, Anda dapat menyembunyikan pemeriksaan lint untuk masalah tertentu yang tidak relevan dengan project Anda, dan Anda dapat mengonfigurasi lint agar melaporkan masalah yang tidak begitu penting pada tingkat keparahan yang lebih rendah.

Tingkat keparahannya adalah:

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

Anda dapat mengonfigurasi pemeriksaan lint dengan beberapa tingkat:

  • Global (keseluruhan project)
  • Modul project
  • Modul produksi
  • Modul pengujian
  • File terbuka
  • Hierarki class
  • Cakupan Sistem Kontrol Versi (VCS)

Mengonfigurasi file lint

Anda dapat menentukan preferensi pemeriksaan lint dalam file lint.xml. Jika Anda membuat file ini secara manual, tempatkan file tersebut dalam direktori utama project Android Anda.

File lint.xml terdiri dari satu tag induk <lint> penutup yang berisi satu atau beberapa elemen <issue> turunan. Lint menetapkan nilai atribut id unik untuk setiap <issue>:

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

Untuk mengubah tingkat keparahan masalah atau menonaktifkan pemeriksaan lint untuk masalah tersebut, tetapkan atribut keparahan dalam tag <issue>.

Tips: Untuk melihat daftar lengkap masalah yang didukung oleh lint dan ID masalah yang terkait, jalankan perintah lint --list.

File contoh lint.xml

Contoh berikut menunjukkan isi 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>

Contoh ini menunjukkan cara berbagai jenis masalah dilaporkan. Pemeriksaan IconMissingDensityFolder dinonaktifkan sepenuhnya, dan pemeriksaan ObsoleteLayoutParam hanya dinonaktifkan dalam file yang ditentukan dalam deklarasi <ignore ... /> yang disertakan.

Mengonfigurasi pemeriksaan lint untuk file sumber Kotlin, Java, dan XML

Anda dapat menonaktifkan pemeriksaan lint untuk file sumber Kotlin, Java, dan XML dalam dialog Preferences:

  1. Pilih File > Settings (di Windows) atau Android Studio > Preferences (di macOS atau Linux).
  2. Pilih Editor > Pemeriksaan.
  3. Untuk menonaktifkan, batalkan pilihan file sumber yang sesuai.

Anda dapat menetapkannya untuk IDE atau untuk setiap project dengan memilih profil yang sesuai.

Mengonfigurasi pemeriksaan lint di Java atau Kotlin

Untuk menonaktifkan pemeriksaan lint khusus untuk class atau metode dalam project Android Anda, tambahkan anotasi @SuppressLint ke kode tersebut.

Contoh berikut menunjukkan cara menonaktifkan pemeriksaan lint untuk masalah NewApi dalam metode onCreate. Alat lint akan terus memeriksa masalah NewApi dalam metode lain class ini.

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);

Hal yang sama dapat dilakukan di Composable mana pun. Cuplikan kode berikut menunjukkan cara menonaktifkan pemeriksaan NewApi di Composable apa pun.

Kotlin

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

Contoh berikut menunjukkan cara menonaktifkan pemeriksaan lint untuk masalah ParserError di class FeedProvider:

Kotlin

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

Java

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

Untuk menyembunyikan pemeriksaan atas semua masalah lint dalam file, gunakan kata kunci all:

Kotlin

@SuppressLint("all")

Java

@SuppressLint("all")

Anda dapat menggunakan anotasi yang sama untuk menyembunyikan pemeriksaan lint pada fungsi Composable apa pun.

Mengonfigurasi pemeriksaan lint di XML

Gunakan atribut tools:ignore untuk menonaktifkan pemeriksaan lint untuk bagian tertentu pada file XML Anda. Masukkan nilai namespace berikut dalam file lint.xml agar alat lint dapat mengenali atribut tersebut:

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

Contoh berikut menunjukkan cara menonaktifkan pemeriksaan lint untuk masalah UnusedResources dalam elemen <LinearLayout> pada file tata letak XML. Atribut ignore diwarisi oleh elemen turunan dari elemen induk tempat atribut tersebut dideklarasikan. Dalam contoh ini, pemeriksaan lint juga dinonaktifkan untuk elemen <TextView> turunan:

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

Untuk menonaktifkan lebih dari satu masalah, cantumkan masalah tersebut dalam string yang dipisahkan koma. Contoh:

tools:ignore="NewApi,StringFormatInvalid"

Untuk menyembunyikan pemeriksaan atas semua masalah lint dalam elemen XML, gunakan kata kunci all:

tools:ignore="all"

Mengonfigurasi opsi lint dengan Gradle

Plugin Android Gradle memungkinkan Anda mengonfigurasi opsi lint tertentu, seperti pemeriksaan yang akan dijalankan atau diabaikan, menggunakan blok lint{} dalam file build.gradle level modul Anda.

Cuplikan kode berikut menampilkan beberapa properti yang dapat Anda konfigurasi:

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

Groovy

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

Semua metode lint yang mengganti tingkat keparahan masalah yang diberikan mematuhi urutan konfigurasi. Misalnya, menetapkan masalah sebagai fatal dalam finalizeDsl() akan menggantikan penonaktifannya dalam DSL utama.

Membuat baseline peringatan

Anda dapat mengambil snapshot kumpulan peringatan saat ini untuk project Anda, lalu menggunakannya sebagai dasar pengukuran untuk menjalankan pemeriksaan selanjutnya, sehingga hanya masalah baru yang dilaporkan. Snapshot baseline memungkinkan Anda mulai menggunakan lint untuk menggagalkan build tanpa harus kembali dan mengatasi semua masalah yang ada terlebih dahulu.

Untuk membuat snapshot dasar pengukuran, ubah file build.gradle project Anda sebagai berikut:

Kotlin

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

Groovy

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

Saat Anda menambahkan baris ini untuk pertama kalinya, file lint-baseline.xml akan dibuat untuk menetapkan baseline Anda. Selanjutnya, alat hanya membaca file tersebut untuk menentukan baseline. Jika Anda ingin membuat baseline baru, hapus file secara manual dan jalankan lagi lint untuk membuat file itu kembali.

Kemudian, jalankan lint dari IDE dengan memilih Code > Inspect Code atau dari command line seperti berikut. Output-nya akan menunjukkan lokasi file lint-baseline.xml. Lokasi file untuk konfigurasi Anda mungkin berbeda dengan yang ditampilkan di sini:

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

Menjalankan lint akan merekam semua masalah terbaru dalam file lint-baseline.xml. Rangkaian masalah terbaru ini disebut baseline. Anda dapat memeriksa file lint-baseline.xml dalam kontrol versi jika ingin membagikannya kepada orang lain.

Menyesuaikan baseline

Jika Anda hanya ingin menambahkan jenis masalah tertentu ke baseline, tentukan masalah yang ingin ditambahkan dengan mengedit file build.gradle project Anda sebagai berikut:

Kotlin

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

Groovy

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

Jika Anda menambahkan peringatan baru ke codebase setelah membuat baseline, lint hanya akan mencantumkan bug yang baru diperkenalkan.

Peringatan baseline

Jika baseline diberlakukan, Anda akan menerima informasi peringatan yang memberitahukan bahwa satu atau beberapa masalah dikesampingkan karena tercantum di baseline. Peringatan ini membantu Anda mengingat bahwa Anda telah mengonfigurasi baseline dan bahwa Anda perlu memperbaiki semua masalah pada suatu tahap tertentu.

Peringatan informasi ini juga melacak masalah yang tidak lagi dilaporkan. Melalui informasi ini, Anda dapat mengetahui apakah Anda telah benar-benar menyelesaikan masalah sehingga, jika ingin, Anda dapat membuat ulang baseline untuk mencegah error tidak terdeteksi kembali.

Catatan: Baseline diaktifkan saat Anda menjalankan pemeriksaan dalam mode batch di IDE, tetapi diabaikan untuk pemeriksaan dalam-editor yang berjalan di latar belakang saat Anda mengedit file. Hal ini karena baseline dimaksudkan untuk kasus ketika codebase memiliki sejumlah besar peringatan yang ada, tetapi Anda ingin memperbaiki masalah secara lokal sewaktu menangani kode.

Menjalankan pemeriksaan secara manual

Untuk menjalankan lint yang telah dikonfigurasi dan pemeriksaan IDE lainnya secara manual, pilih Code > Inspect Code. Hasil pemeriksaan akan muncul di jendela Inspection Results.

Menetapkan cakupan dan profil pemeriksaan

Pilih file yang ingin Anda analisis (cakupan pemeriksaan) dan pemeriksaan yang ingin Anda jalankan (profil pemeriksaan) sebagai berikut:

  1. Di tampilan Android, buka project Anda, lalu pilih project, folder, atau file yang ingin Anda analisis.
  2. Dari panel menu, pilih Code > Inspect Code.
  3. Pada dialog Specify Inspection Scope, periksa setelan.

    Meninjau setelan cakupan pemeriksaan
    Gambar 3. Tinjau setelan cakupan pemeriksaan.

    Opsi yang muncul dalam dialog Specify Inspection Scope berbeda-beda bergantung pada apakah Anda memilih project, folder, atau file:

    • Saat Anda memilih satu project, file, atau direktori, dialog Specify Inspection Scope akan menampilkan jalur ke project, file, atau direktori yang Anda pilih.
    • Saat Anda memilih lebih dari satu project, file, atau direktori, dialog Specify Inspection Scope akan menampilkan tombol pilihan yang dipilih untuk Selected files.

    Untuk mengubah apa yang akan diperiksa, pilih salah satu tombol pilihan lainnya. Lihat dialog Specify Inspection Scope untuk deskripsi mengenai semua kolom yang dapat dipilih pada dialog Specify Inspection Scope.

  4. Di bagian Inspection profile, pilih profil yang ingin Anda gunakan.
  5. Klik OK untuk menjalankan pemeriksaan.

    Gambar 4 menunjukkan hasil pemeriksaan lint dan IDE lainnya setelah menjalankan Inspect Code:

    Pilih masalah untuk melihat penyelesaiannya.
    Gambar 4. Hasil dari inspeksi. Pilih masalah untuk melihat penyelesaiannya.
  6. Di panel Inspection Results, lihat hasil pemeriksaan dengan meluaskan dan memilih kategori, jenis, atau masalah error.

    Panel Inspection Report menampilkan laporan pemeriksaan untuk kategori, jenis, atau masalah error yang dipilih di panel Inspection Results dan menampilkan nama serta lokasi error tersebut. Jika ada, laporan pemeriksaan akan menampilkan informasi lainnya, seperti ringkasan masalah, untuk membantu Anda mengoreksi masalah tersebut.

  7. Di tampilan hierarki panel Inspection Results, klik kanan kategori, jenis, atau masalah untuk menampilkan menu konteks.

    Bergantung pada konteksnya, Anda dapat:

    • Langsung ke sumber.
    • Mengecualikan dan menyertakan item yang dipilih.
    • Menyembunyikan masalah.
    • Edit setelan.
    • Mengelola pemberitahuan inspeksi.
    • Jalankan kembali inspeksi.

Untuk deskripsi tombol toolbar, item menu konteks, dan kolom laporan pemeriksaan, lihat Jendela alat Hasil Pemeriksaan.

Menggunakan cakupan kustom

Gunakan salah satu cakupan kustom yang disediakan di Android Studio sebagai berikut:

  1. Dalam dialog Specify Inspection Scope, pilih Custom scope.
  2. Klik daftar Custom scope untuk menampilkan berbagai opsi:

    Memilih Cakupan Pemeriksaan yang ingin Anda gunakan
    Gambar 5. Pilih cakupan kustom yang ingin Anda gunakan.
    • Semua Tempat: Semua file.
    • Project Files: Semua file dalam project saat ini.
    • Project Source Files: Hanya file sumber dalam project saat ini.
    • Project Production Files: Hanya file produksi dalam project saat ini.
    • Project Test Files: Hanya file pengujian dalam project saat ini.
    • Scratches and Consoles: Hanya file scratch dan konsol yang Anda buka dalam project saat ini.
    • Recently Viewed Files: Hanya file yang baru saja dilihat dalam project saat ini.
    • Current File: Hanya file terbaru dalam project saat ini. Ditampilkan jika Anda telah memilih file atau folder.
    • Selected Directory: Hanya folder saat ini dalam project Anda saat ini. Muncul saat Anda memilih folder.
    • Class Hierarchy: Jika Anda memilih opsi ini dan mengklik OK, dialog akan muncul dengan semua class dalam project saat ini. Dalam dialog, gunakan kolom Search by Name untuk memfilter dan memilih class yang akan diperiksa. Jika Anda tidak memfilter daftar class, pemeriksaan kode akan memeriksa semua class.
  3. Jika Anda memiliki VCS yang dikonfigurasi untuk project, ada juga opsi untuk membatasi penelusuran hanya ke file yang telah diubah.

  4. Klik OK.

Membuat cakupan kustom

Jika ingin memeriksa sekumpulan file dan direktori yang tidak termasuk dalam salah satu cakupan kustom yang tersedia, Anda dapat membuat cakupan kustom:

  1. Dalam dialog Specify Inspection Scope, pilih Custom scope.
  2. Klik tiga titik setelah daftar Custom Scope.

    Dialog Specify Inspection Scope
    Gambar 6. Dialog Specify Inspection Scope.

    Dialog Scopes akan muncul.

    Membuat cakupan kustom
    Gambar 7. Buat cakupan kustom.
  3. Klik tombol di pojok kiri atas dialog untuk menentukan cakupan baru.
  4. Dalam daftar Add Scope yang muncul, pilih Local.

    Baik cakupan lokal maupun cakupan bersama digunakan dalam project untuk fitur Inspect Code. Cakupan Shared juga dapat digunakan bersama fitur project lainnya yang memiliki kolom cakupan. Misalnya, saat Anda mengklik Edit Settings untuk mengubah setelan untuk Find Usages, dialog yang dihasilkan memiliki kolom Scope tempat Anda dapat memilih cakupan bersama.

    Memilih cakupan bersama dari dialog Find Usages
    Gambar 8. Pilih cakupan bersama dari dialog Find Usages.
  5. Beri nama cakupan tersebut, lalu klik OK.

    Panel kanan dialog Scopes terisi dengan opsi yang memungkinkan Anda menentukan cakupan kustom.

  6. Dari daftar, pilih Project.

    Daftar project yang tersedia akan ditampilkan.

    Catatan: Anda dapat membuat cakupan kustom untuk project atau paket. Langkah-langkahnya sama.

  7. Luaskan folder project, pilih mana yang ingin Anda tambahkan ke cakupan kustom, lalu pilih apakah akan menyertakan atau mengecualikannya.

    Menentukan cakupan kustom
    Gambar 9. Tentukan cakupan kustom.
    • Include: Menyertakan folder ini dan file-filenya, tetapi tidak menyertakan subfoldernya.
    • Include Recursively: Menyertakan folder ini dan file-filenya serta subfolder dan file-filenya.
    • Exclude: Mengecualikan folder ini dan file-filenya, tetapi tidak mengecualikan subfoldernya.
    • Exclude Recursively: Mengecualikan folder ini dan file-filenya serta subfolder dan file-file di dalamnya.

    Gambar 10 menunjukkan bahwa folder main disertakan, dan folder java dan res disertakan secara rekursif. Warna biru menunjukkan folder yang disertakan sebagian, dan warna hijau menunjukkan folder dan file yang disertakan secara rekursif.

    Contoh pola untuk cakupan kustom
    Gambar 10. Contoh pola untuk cakupan kustom.
    • Jika Anda memilih folder java dan mengklik Exclude Recursively, tanda berwarna hijau akan hilang pada folder java dan semua folder serta file di dalamnya.
    • Jika Anda memilih file MainActivity.kt yang ditandai hijau dan mengklik Exclude, MainActivity.kt tidak lagi ditandai hijau, tetapi item lain dalam folder java tetap berwarna hijau.
  8. Klik OK. Cakupan kustom muncul di bagian bawah daftar.

Meninjau dan mengedit profil pemeriksaan

Android Studio memiliki serangkaian profil lint dan profil pemeriksaan lainnya yang diperbarui melalui update Android. Anda dapat menggunakan profil ini apa adanya atau mengedit nama, deskripsi, keparahan, dan cakupannya. Anda juga dapat mengaktifkan dan menonaktifkan seluruh grup profil atau satu per satu profil dalam sebuah grup.

Untuk mengakses setelan Inspections:

  1. Pilih File > Settings. (di Windows) atau Android Studio > Preferences (di macOS atau Linux).
  2. Pilih Editor > Pemeriksaan.
  3. Panel Inspections menampilkan daftar pemeriksaan yang didukung dan deskripsinya.

    Pemeriksaan yang didukung dan deskripsinya
    Gambar 11. Pemeriksaan yang didukung dan deskripsinya.
  4. Pilih daftar Profile untuk beralih antara pemeriksaan Default (Android Studio) dan Project Default (project aktif).

    Untuk informasi selengkapnya, lihat halaman Kelola profil IntelliJ.

  5. Dalam daftar Inspections di panel kiri, pilih kategori profil level teratas atau luaskan grup dan pilih profil tertentu.

    Jika memilih sebuah kategori profil, Anda dapat mengedit semua pemeriksaan dalam kategori itu sebagai pemeriksaan tunggal.

  6. Pilih daftar Menampilkan ikon Tindakan Skema Show Schema Actions untuk menyalin, mengganti nama, menambahkan deskripsi, mengekspor, dan mengimpor pemeriksaan.
  7. Setelah selesai, klik OK.