Kodunuzu lint kontrolleriyle iyileştirme

Uygulamanızın işlevsel şartlarını karşıladığından emin olmak için derleme testleri yapmanın yanı sıra, kodunuzda yapısal sorun olmadığından emin olmak için kodu lint aracından da geçirmeniz önemlidir. Linting aracı, Android uygulamalarınızın güvenilirliğini ve verimliliğini etkileyebilecek ve kodunuzun bakımını zorlaştırabilecek kötü yapılandırılmış kodları bulmanıza yardımcı olur. Uygulamanızı yayınlamadan önce lint aracının tespit ettiği hataları düzeltmeniz önemle tavsiye edilir.

Örneğin, XML kaynak dosyalarınız kullanılmayan ad alanları içeriyorsa bu, yer kaplar ve gereksiz işlem gerektirir. Desteği sonlandırılmış öğelerin kullanılması veya hedef API sürümleri tarafından desteklenmeyen API çağrıları gibi diğer yapısal sorunlar, kodun doğru şekilde çalışmamasına neden olabilir. Lint, bu sorunları gidermenize yardımcı olabilir.

Kod temizleme performansını artırmak için kodunuza ek açıklamalar da ekleyebilirsiniz.

Genel Bakış

Android Studio, uygulamayı çalıştırmak veya test durumları yazmak zorunda kalmadan kodunuzun yapısal kalitesiyle ilgili sorunları tespit edip düzeltmenize yardımcı olabilecek lint adlı bir kod tarama aracı sağlar. Araç tarafından algılanan her sorun, yapılması gereken kritik iyileştirmelere öncelik verebilmeniz için bir açıklama mesajı ve önem derecesiyle bildirilir. Ayrıca, projenizle alakalı olmayan sorunları yoksaymak için bir sorunun önem düzeyini düşürebilir veya belirli sorunları vurgulamak için önem düzeyini yükseltebilirsiniz.

Düzenleme aracı, Android proje kaynak dosyalarınızı doğruluk, güvenlik, performans, kullanılabilirlik, erişilebilirlik ve uluslararasılaştırma açısından olası hatalar ve optimizasyon iyileştirmeleri açısından kontrol eder. Android Studio'yu kullanırken, yapılandırılmış lint ve IDE denetimleri uygulamanızı oluşturduğunuzda çalıştırılır. Ancak bu sayfada açıklandığı gibi denemeleri manuel olarak çalıştırabilir veya lint'i komut satırından çalıştırabilirsiniz.

Yerleşik lint aracı, Android Studio'yu kullanırken kodunuzu kontrol eder. Uyarı ve hataları iki şekilde görüntüleyebilirsiniz:

  • Düzenleyici penceresinde pop-up metin olarak. Linting, bir sorun bulduğunda sorunlu kodu sarı renkle vurgular. Daha ciddi sorunlarda ise kodun altı kırmızıyla çizilir.
  • Kod > Kodu İncele'yi tıkladığınızda gösterilen lint İnceleme Sonuçları penceresinde.

Not: Kodunuz Android Studio'da derlendiğinde, kod incelemesini kolaylaştırmak için ek IntelliJ kod denetimleri çalıştırılır. En son lint kurallarının ve denetimlerinin kullanılabilmesi için Android Studio'yu mümkün olduğunca güncel tutun.

Şekil 1'de, lint aracının uygulama kaynak dosyalarını nasıl işlediği gösterilmektedir.

Lint aracıyla kod tarama iş akışı.
Şekil 1. Lint aracıyla kod tarama iş akışı.
Uygulama kaynak dosyaları
Kaynak dosyalar; Kotlin, Java ve XML dosyaları, simgeler ve ProGuard yapılandırma dosyaları da dahil olmak üzere Android projenizi oluşturan dosyalardan oluşur.
lint.xml dosyası
Hariç tutmak istediğiniz tüm lint kontrollerini belirtmek ve sorun önem düzeylerini özelleştirmek için kullanabileceğiniz bir yapılandırma dosyası.
Lint aracı
Android projenizde komut satırından veya Android Studio'da çalıştırabileceğiniz statik kod tarama aracı. Düzenleme aracı, Android uygulamanızın kalitesini ve performansını etkileyebilecek yapısal kod sorunlarını kontrol eder.
Kötü yazım denetimi sonuçları
Hata ayıklamayla ilgili sonuçları konsolda veya Android Studio'daki İnceleme Sonuçları penceresinde görüntüleyebilirsiniz. lint komutunu komut satırından çalıştırırsanız sonuçlar build/ klasörüne yazılır. Daha ayrıntılı bilgi için denetlemeleri manuel olarak çalıştırma ile ilgili bölüme bakın.

Komut satırından lint çalıştırma

Android Studio veya Gradle kullanıyorsanız projenizin kök dizininden aşağıdaki komutlardan birini girerek projeniz için lint görevini çağırmak üzere Gradle sarmalayıcısını kullanın:

Not: En son lint kurallarını kullanmak için Android Gradle eklentisini mümkün olduğunca güncel tutun.

  • Windows'da:
    gradlew lint
    
  • Linux veya macOS'te:
    ./gradlew lint
    

Aşağıdakine benzer bir çıkış alırsınız:

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

Hata ayıklama aracı, kontrollerini tamamladığında hata ayıklama raporunun XML ve HTML sürümlerinin yollarını sağlar. Ardından, HTML raporuna gidip 2. resimde gösterildiği gibi tarayıcınızda açabilirsiniz.

Örnek HTML lint raporu
Şekil 2. Örnek HTML lint raporu.

Projenizde derleme varyantları varsa lint yalnızca varsayılan varyantı kontrol eder. Farklı bir varyantta lint çalıştırmak istiyorsanız varyant adını büyük harflerle yazmanız ve önüne lint eklemeniz gerekir.

./gradlew lintRelease

Not: Lint, derlemenizin bir parçası olarak otomatik olarak çalıştırılmaz. Mevcut kaynak kodunuzu derleyip en son lint kontrollerini görebilmeniz için lint'i sürekli entegrasyon derlemesi kapsamında açıkça çalıştırmanızı önemle tavsiye ederiz.

Gradle görevlerini komut satırından çalıştırma hakkında daha fazla bilgi edinmek için Uygulamanızı komut satırından oluşturma başlıklı makaleyi inceleyin.

Bağımsız aracı kullanarak lint çalıştırma

Android Studio veya Gradle kullanmıyorsanız bağımsız lint aracını kullanmak için Android SDK komut satırı araçlarını yükleyin. android_sdk/cmdline-tools/version/bin/lint bölümündeki lint aracını bulun.

Not: Bağımsız aracı bir Gradle projesinde çalıştırmaya çalışırsanız hata alırsınız. Bir Gradle projesinde lint çalıştırmak için her zaman gradle lint (Windows'ta) veya ./gradlew lint (macOS ya da Linux'ta) kullanmalısınız.

Bir proje dizinindeki dosya listesinde lint çalıştırmak için aşağıdaki komutu kullanın:

lint [flags] <project directory>

Örneğin, myproject dizininin ve alt dizinlerinin altındaki dosyaları taramak için aşağıdaki komutu verebilirsiniz. MissingPrefix sorun kimliği, lint'e yalnızca Android ad alanı öneki eksik olan XML özelliklerini taramasını söyler.

lint --check MissingPrefix myproject 

Aracın desteklediği işaretçilerin ve komut satırı bağımsız değişkenlerinin tam listesini görmek için aşağıdaki komutu kullanın:

lint --help

Aşağıdaki örnekte, lint komutu Earthquake adlı bir projede çalıştırıldığında konsol çıkışı gösterilmektedir:

$ 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

Örnek çıkışta dört uyarı ve hata yoktur.

Projenin AndroidManifest.xml dosyasıyla ilgili iki uyarı:

  • ManifestOrder
  • UsesMinSdkAttributes
Preferences.xml düzen dosyasıyla ilgili bir uyarı var: UnusedResources.

Bir uyarı, res dizini ile ilgilidir: IconMissingDensityFolder.

Uyarıları engellemek için lint'i yapılandırma

Varsayılan olarak, bir lint taraması yaptığınızda araç, lint'in desteklediği tüm sorunları kontrol eder. Ayrıca, lint'in kontrol edeceği sorunları kısıtlayabilir ve sorunlara önem düzeyleri atayabilirsiniz. Örneğin, projenizle alakalı olmayan belirli sorunlar için lint kontrolünü devre dışı bırakabilir ve lint'i, kritik olmayan sorunları daha düşük bir önem düzeyinde bildirecek şekilde yapılandırabilirsiniz.

Önem düzeyleri şunlardır:

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

Hata ayıklama denetimini farklı düzeyler için yapılandırabilirsiniz:

  • Dünya genelinde (projenin tamamı)
  • Proje modülü
  • Üretim modülü
  • Test modülü
  • Dosya aç
  • Sınıf hiyerarşisi
  • Sürüm denetim sistemi (VCS) kapsamları

Hata ayıklama dosyasını yapılandırma

Kalıntı kontrol tercihlerinizi lint.xml dosyasında belirtebilirsiniz. Bu dosyayı manuel olarak oluşturuyorsanız Android projenizin kök dizinine yerleştirin.

lint.xml dosyası, bir veya daha fazla alt <issue> öğesi içeren kapsayıcı bir <lint> üst etiketinden oluşur. Lint, her <issue> için benzersiz bir id özellik değeri tanımlar:

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

Bir sorunun önem düzeyini değiştirmek veya sorun için lint kontrolünü devre dışı bırakmak için <issue> etiketindeki önem düzeyi özelliğini ayarlayın.

İpucu: Boşluk denetimi tarafından desteklenen sorunların ve ilgili sorun kimliklerinin tam listesi için lint --list komutunu çalıştırın.

Örnek lint.xml dosyası

Aşağıdaki örnekte bir lint.xml dosyasının içeriği gösterilmektedir:

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

Bu örnekte, farklı sorun türlerinin nasıl raporlandığı gösterilmektedir. IconMissingDensityFolder kontrolünün tamamen devre dışı bırakıldığı ve ObsoleteLayoutParam kontrolünün yalnızca ekteki <ignore ... /> beyanlarda belirtilen dosyalarda devre dışı bırakıldığı

Kotlin, Java ve XML kaynak dosyaları için lint kontrolünü yapılandırma

Kotlin, Java ve XML kaynak dosyalarınız için lint kontrolünü Tercihler iletişim kutusunda devre dışı bırakabilirsiniz:

  1. Dosya > Ayarlar'ı (Windows'ta) veya Android Studio > Tercihler'i (macOS veya Linux'ta) seçin.
  2. Düzenleyici > Denetlemeler'i seçin.
  3. Devre dışı bırakmak için ilgili kaynak dosyanın seçimini kaldırın.

Uygun profili seçerek bunları IDE için veya projeler için ayrı ayrı ayarlayabilirsiniz.

Java veya Kotlin'de lint kontrolünü yapılandırma

Android projenizdeki belirli bir sınıf veya yöntem için lint kontrolünü devre dışı bırakmak istiyorsanız söz konusu koda @SuppressLint ek açıklamasını ekleyin.

Aşağıdaki örnekte, onCreate yöntemindeki NewApi sorunu için lint kontrolünü nasıl devre dışı bırakabileceğiniz gösterilmektedir. Dil bilgisi denetimi aracı, bu sınıfın diğer yöntemlerinde NewApi sorununu kontrol etmeye devam eder.

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

Aynı işlem herhangi bir Composable'da da yapılabilir. Aşağıdaki kod snippet'inde, herhangi bir Composable'da NewApi kontrollerini nasıl devre dışı bırakabileceğiniz gösterilmektedir.

Kotlin

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

Aşağıdaki örnekte, FeedProvider sınıfındaki ParserError sorunu için lint kontrolünün nasıl devre dışı bırakılacağı gösterilmektedir:

Kotlin

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

Java

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

Dosyadaki tüm lint sorunlarının kontrol edilmesini engellemek için all anahtar kelimesini kullanın:

Kotlin

@SuppressLint("all")

Java

@SuppressLint("all")

Herhangi bir Composable işlevinde lint kontrollerini devre dışı bırakmak için aynı ek açıklamayı kullanabilirsiniz.

XML'de lint kontrolünü yapılandırma

XML dosyalarınızın belirli bölümleri için lint kontrolünü devre dışı bırakmak üzere tools:ignore özelliğini kullanın. Dil bilgisi denetimi aracının özelliği tanıması için lint.xml dosyasına aşağıdaki ad alanı değerini ekleyin:

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

Aşağıdaki örnekte, XML düzen dosyasının <LinearLayout> öğesindeki UnusedResources sorunu için lint kontrolünü nasıl devre dışı bırakabileceğiniz gösterilmektedir. ignore özelliği, özelliğin tanımlandığı üst öğenin alt öğeleri tarafından devralınır. Bu örnekte, lint kontrolü alt <TextView> öğesi için de devre dışı bırakılmıştır:

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

Birden fazla sorunu devre dışı bırakmak için devre dışı bırakılacak sorunları virgülle ayrılmış bir dize halinde listeleyin. Örneğin:

tools:ignore="NewApi,StringFormatInvalid"

XML öğesindeki tüm lint sorunlarının kontrolünü devre dışı bırakmak için all anahtar kelimesini kullanın:

tools:ignore="all"

Gradle ile lint seçeneklerini yapılandırma

Android Gradle eklentisi, modül düzeyindeki build.gradle dosyanızdaki lint{} bloğunu kullanarak hangi kontrollerin çalıştırılacağını veya yoksayacağını belirlemek gibi belirli lint seçeneklerini yapılandırmanıza olanak tanır.

Aşağıdaki kod snippet'inde, yapılandırabileceğiniz bazı özellikler gösterilmektedir:

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

Bir sorunun belirtilen önem derecesini geçersiz kılan tüm lint yöntemleri, yapılandırma sırasına uyar. Örneğin, bir sorunu finalizeDsl() bölümünde kritik olarak ayarlamak, ana DSL'de devre dışı bırakılmasını geçersiz kılar.

Uyarı referans değeri oluşturma

Projenizin mevcut uyarı grubunun anlık görüntüsünü alıp anlık görüntüyü gelecekteki denetim çalıştırmalarında referans olarak kullanabilirsiniz. Böylece yalnızca yeni sorunlar bildirilir. Referans anlık görüntüsü, geri dönüp önce mevcut tüm sorunları gidermenize gerek kalmadan derlemeyi iptal etmek için lint'i kullanmaya başlamanızı sağlar.

Referans ana hattı anlık görüntüsü oluşturmak için projenizin build.gradle dosyasını aşağıdaki gibi değiştirin:

Kotlin

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

Groovy

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

Bu satırı ilk kez eklediğinizde, referans çizginizi belirlemek için lint-baseline.xml dosyası oluşturulur. Bu noktadan sonra araçlar, yalnızca başlangıç değerini belirlemek için dosyayı okur. Yeni bir temel oluşturmak istiyorsanız dosyayı manuel olarak silin ve yeniden oluşturmak için lint'i tekrar çalıştırın.

Ardından, Kod > Kodu İncele'yi seçerek IDE'den veya aşağıdaki gibi komut satırından lint'i çalıştırın. Çıktı, lint-baseline.xml dosyasının konumunu yazdırır. Kurulumunuzun dosya konumu burada gösterilenden farklı olabilir:

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

lint çalıştırıldığında mevcut tüm sorunlar lint-baseline.xml dosyasına kaydedilir. Mevcut sorunlar grubuna temel denir. lint-baseline.xml dosyasını diğer kullanıcılarla paylaşmak isterseniz sürüm kontrolüne ekleyebilirsiniz.

Temel çizgiyi özelleştirme

Referans değerine yalnızca belirli sorun türlerini eklemek istiyorsanız projenizin build.gradle dosyasını aşağıdaki gibi düzenleyerek eklenecek sorunları belirtin:

Kotlin

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

Groovy

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

Referans çizgisini oluşturduktan sonra kod tabanına yeni uyarılar eklerseniz lint yalnızca yeni eklenen hataları listeler.

Referans değer uyarısı

Bir referans noktası etkin olduğunda, referans noktasında listelendiği için bir veya daha fazla sorunun filtrelendiğini belirten bilgilendirici bir uyarı alırsınız. Bu uyarı, bir referans yapılandırdığınızı ve bir noktada tüm sorunları düzeltmeniz gerektiğini hatırlatır.

Bu bilgilendirme amaçlı uyarı, artık bildirilmeyen sorunları da izler. Bu bilgiler, sorunları gerçekten düzeltip düzeltmediğinizi öğrenmenizi sağlar. Böylece, hataların tekrar ortaya çıkmasını önlemek için isteğe bağlı olarak referans noktasını yeniden oluşturabilirsiniz.

Not: IDE'de incelemeleri toplu modda çalıştırdığınızda temel değerler etkinleştirilir ancak bir dosyayı düzenlerken arka planda çalışan düzenleyici içi kontroller için yoksayılır. Bunun nedeni, temel çizgilerin, kod tabanında çok sayıda mevcut uyarının bulunduğu ancak koda dokunurken sorunları yerel olarak düzeltmek istediğiniz durumlar için tasarlanmış olmasıdır.

İnspections'ı manuel olarak çalıştırma

Yapılandırılmış lint ve diğer IDE denetimlerini manuel olarak çalıştırmak için Kod > Kodu İncele'yi seçin. Denetleme sonuçları Denetim Sonuçları penceresinde görünür.

Denetim kapsamını ve profilini ayarlama

Analiz etmek istediğiniz dosyaları (denetim kapsamı) ve çalıştırmak istediğiniz denetimleri (denetim profili) aşağıdaki gibi seçin:

  1. Android görünümünde projenizi açın ve analiz etmek istediğiniz projeyi, klasörü veya dosyayı seçin.
  2. Menü çubuğundan Kod > Kodu İncele'yi seçin.
  3. Denetleme Kapsamını Belirle iletişim kutusunda ayarları inceleyin.

    İnceleme kapsamı ayarlarını inceleme
    Şekil 3. İnceleme kapsamı ayarlarını inceleyin.

    İnceleme Kapsamını Belirle iletişim kutusunda görünen seçenekler, proje, klasör veya dosya seçtiğinize bağlı olarak değişir:

    • Bir proje, dosya veya dizin seçtiğinizde İnceleme Kapsamını Belirle iletişim kutusunda seçtiğiniz projenin, dosyanın veya dizinin yolu gösterilir.
    • Birden fazla proje, dosya veya dizin seçtiğinizde İnceleme Kapsamını Belirle iletişim kutusunda Seçilen dosyalar için seçili bir radyo düğmesi gösterilir.

    İncelenecek öğeyi değiştirmek için diğer radyo düğmelerinden birini seçin. İnceleme Kapsamını Belirle iletişim kutusundaki tüm olası alanların açıklaması için İnceleme Kapsamını Belirle iletişim kutusu bölümüne bakın.

  4. İnceleme profili bölümünde, kullanmak istediğiniz profili seçin.
  5. İncelemeyi başlatmak için Tamam'ı tıklayın.

    Şekil 4'te, Kodu İncele çalıştırmasının sonucu olarak elde edilen lint ve diğer IDE denetimi sonuçları gösterilmektedir:

    Çözümünü görmek için bir sorun seçin.
    Şekil 4. İncelemenin sonuçları. Çözümü görmek için bir sorun seçin.
  6. Denetleme Sonuçları bölmesinde, hata kategorilerini, türlerini veya sorunlarını genişletip seçerek denetleme sonuçlarını görüntüleyin.

    İnceleme Raporu bölmesinde, İnceleme Sonuçları bölmesinde seçilen hata kategorisi, türü veya sorunun inceleme raporu ve hatanın adı ile konumu gösterilir. Uygun durumlarda, denetleme raporunda sorunu düzeltmenize yardımcı olmak için sorun özeti gibi diğer bilgiler gösterilir.

  7. Denetleme Sonuçları bölmesinde ağaç görünümünde bir kategoriyi, türü veya sorunu sağ tıklayarak içerik menüsünü görüntüleyin.

    Bağlama bağlı olarak şunları yapabilirsiniz:

    • Kaynağa atlayın.
    • Seçili öğeleri hariç tutma ve dahil etme.
    • Sorunları engelleme
    • Ayarları düzenleyin.
    • Denetim uyarılarını yönetme
    • Bir denetimi yeniden çalıştırın.

Araç çubuğu düğmelerinin, içerik menüsü öğelerinin ve denetim raporu alanlarının açıklamaları için Denetim Sonuçları araç penceresine bakın.

Özel kapsam kullanın

Android Studio'da sağlanan özel kapsamlardan birini aşağıdaki gibi kullanın:

  1. İnceleme Kapsamını Belirle iletişim kutusunda Özel kapsam'ı seçin.
  2. Seçeneklerinizi görüntülemek için Özel kapsam listesini tıklayın:

    Kullanmak istediğiniz Denetim Kapsamını seçin
    Şekil 5. Kullanmak istediğiniz özel kapsamı seçin.
    • Tüm Yerler: Tüm dosyalar.
    • Proje Dosyaları: Mevcut projedeki tüm dosyalar.
    • Proje Kaynak Dosyaları: Yalnızca geçerli projedeki kaynak dosyalar.
    • Proje Üretim Dosyaları: Yalnızca mevcut projedeki üretim dosyaları.
    • Proje Test Dosyaları: Yalnızca mevcut projedeki test dosyaları.
    • Scratch dosyaları ve konsollar: Yalnızca mevcut projede açık olan scratch dosyaları ve konsollar.
    • Yakın Zamanda Görüntülenen Dosyalar: Yalnızca mevcut projede yakın zamanda görüntülenen dosyalar.
    • Mevcut Dosya: Yalnızca mevcut projenizdeki mevcut dosya. Bir dosya veya klasör seçtiğinizde görünür.
    • Seçilen Dizin: Yalnızca mevcut projenizdeki geçerli klasör. Bir klasör seçtiğinizde görünür.
    • Sınıf Hiyerarşisi: Bu seçeneği belirleyip Tamam'ı tıkladığınızda, geçerli projedeki tüm sınıfların yer aldığı bir iletişim kutusu gösterilir. İletişim kutusunda, Adı alanına göre filtreleme yaparak inceleyeceğiniz sınıfları seçin. Sınıf listesini filtrelemezseniz kod denetimi tüm sınıfları inceler.
  3. Proje için yapılandırılmış bir VCS'niz varsa aramayı yalnızca değiştirilen dosyalarla sınırlama seçenekleri de vardır.

  4. Tamam'ı tıklayın.

Özel kapsam oluşturma

Mevcut özel kapsamlardan hiçbirinin kapsamında olmayan bir dosya ve dizin grubunu incelemek istediğinizde özel kapsam oluşturabilirsiniz:

  1. İnceleme Kapsamını Belirle iletişim kutusunda Özel kapsam'ı seçin.
  2. Özel Kapsam listesinin ardından üç noktayı tıklayın.

    İnceleme Kapsamı&#39;nı Belirle iletişim kutusu
    Şekil 6. Denetim Kapsamını Belirle iletişim kutusu.

    Kapsamlar iletişim kutusu görünür.

    Özel kapsam oluşturma
    Şekil 7. Özel kapsam oluşturun.
  3. Yeni bir kapsam tanımlamak için iletişim kutusunun sol üst köşesindeki düğmesini tıklayın.
  4. Görüntülenen Kapsam Ekle listesinde Yerel'i seçin.

    Hem yerel hem de paylaşılan kapsamlar, projede Kodu İncele özelliği için kullanılır. Ortak kapsam, kapsam alanı olan diğer proje özellikleriyle de kullanılabilir. Örneğin, Kullanım Alanlarını Bul'un ayarlarını değiştirmek için Ayarları Düzenle'yi tıkladığınızda, açılan iletişim kutusunda ortak bir kapsam seçebileceğiniz bir Kapsam alanı bulunur.

    Kullanım Alanlarını Bul iletişim kutusunda paylaşılan bir kapsam seçin
    Şekil 8. Kullanım Alanlarını Bul iletişim kutusunda bir ortak kapsam seçin.
  5. Kapsama alanına bir ad verin ve Tamam'ı tıklayın.

    Kapsamlar iletişim kutusunun sağ bölmesi, özel kapsamı tanımlamanıza olanak tanıyan seçeneklerle doldurulur.

  6. Listeden Proje'yi seçin.

    Mevcut projelerin listesi gösterilir.

    Not: Projeler veya paketler için özel kapsam oluşturabilirsiniz. Adımlar aynıdır.

  7. Proje klasörlerini genişletin, özel kapsama eklemek istediğiniz öğeyi seçin ve bu öğeyi dahil edip etmeyeceğinizi belirleyin.

    Özel kapsam tanımlama
    Şekil 9. Özel bir kapsam tanımlayın.
    • Dahil et: Bu klasörü ve dosyalarını dahil edin ancak alt klasörlerinden hiçbirini dahil etmeyin.
    • Yinelenen şekilde dahil et: Bu klasörü ve dosyalarının yanı sıra alt klasörlerini ve dosyalarını da dahil edin.
    • Hariç tut: Bu klasörü ve dosyalarını hariç tutar ancak alt klasörlerinin hiçbirini hariç tutmaz.
    • Yinelenen şekilde hariç tut: Bu klasörü ve dosyalarının yanı sıra alt klasörlerini ve dosyalarını da hariç tutar.

    Şekil 10'da, main klasörünün dahil edildiği ve java ile res klasörlerinin yinelemeli olarak dahil edildiği gösterilmektedir. Mavi, kısmen dahil edilmiş bir klasörü, yeşil ise yinelemeli olarak dahil edilmiş klasörleri ve dosyaları gösterir.

    Özel kapsam için örnek desen
    Şekil 10. Özel kapsam için örnek desen.
    • java klasörünü seçip Yinelenen şekilde hariç tut'u tıkladığınızda java klasöründe ve altındaki tüm klasör ve dosyalarda yeşil vurgu kaybolur.
    • Yeşil renkle vurgulanmış MainActivity.kt dosyasını seçip Hariç tut'u tıklarsanız MainActivity.kt artık yeşil renkle vurgulanmaz ancak java klasörünün altındaki diğer her şey yeşil renkte kalır.
  8. Tamam'ı tıklayın. Özel kapsam, listenin alt kısmında görünür.

İnceleme profillerini inceleme ve düzenleme

Android Studio'da, Android güncellemeleri aracılığıyla güncellenen bir lint ve diğer denetim profilleri seçimi bulunur. Bu profilleri olduğu gibi kullanabilir veya adlarını, açıklamalarını, önem derecelerini ve kapsamlarını düzenleyebilirsiniz. Ayrıca, profil gruplarının tamamını veya bir gruptaki profilleri tek tek etkinleştirebilir ve devre dışı bırakabilirsiniz.

Denetim ayarlarına erişmek için:

  1. Dosya > Ayarlar'ı seçin. (Windows'ta) veya Android Studio > Tercihler'i (macOS veya Linux'ta) seçin.
  2. Düzenleyici > Denetlemeler'i seçin.
  3. Teftişler bölmesinde, desteklenen teftişlerin listesi ve açıklamaları gösterilir.

    Desteklenen denetimler ve açıklamaları
    Şekil 11. Desteklenen teftişler ve açıklamaları.
  4. Varsayılan (Android Studio) ve Proje Varsayılan (etkin proje) denetimleri arasında geçiş yapmak için Profil listesini seçin.

    Daha fazla bilgi için IntelliJ Profilleri yönetme sayfasına bakın.

  5. Sol bölmede bulunan İnspeksiyonlar listesinde bir üst düzey profil kategorisi seçin veya bir grubu genişletip belirli bir profili seçin.

    Bir profil kategorisi seçtiğinizde, bu kategorideki tüm denetimleri tek bir denetim olarak düzenleyebilirsiniz.

  6. Denetlemeleri kopyalamak, yeniden adlandırmak, açıklama eklemek, dışa aktarmak ve içe aktarmak için Şema İşlemlerini Göster Şema İşlemlerini Göster simgesini göster listesini seçin.
  7. İşiniz bittiğinde Tamam'ı tıklayın.