Kodunuzu lint kontrolleriyle iyileştirme

Uygulamanızın işlevsel gereksinimlerini karşıladığından emin olmak için testler oluşturmaya ek olarak, kodunuzda yapısal sorun bulunmadığından emin olmak için kodu lint aracıyla çalıştırmanız da önemlidir. lint aracı, Android uygulamalarınızın güvenilirliğini ve verimliliğini etkileyebilecek ve kodunuzun korunmasını zorlaştırabilecek kötü yapılandırılmış kodları bulmanıza yardımcı olur. Uygulamanızı yayınlamadan önce lint'in algıladığı hataları düzeltmeniz önemle tavsiye edilir.

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

Ayrıca hata analizi performansını iyileştirmek için kodunuza ek açıklamalar ekleyebilirsiniz.

Genel bakış

Android Studio, uygulamayı yürütmeye veya test senaryoları yazmaya gerek kalmadan kodunuzun yapısal kalitesindeki sorunları tanımlayıp düzeltmenize yardımcı olabilecek lint adlı bir kod tarama aracı sunar. Aracın algıladığı her sorun, bir açıklama mesajı ve önem düzeyiyle bildirilir. Böylece yapılması gereken kritik iyileştirmelere öncelik verebilirsiniz. Ayrıca, projenizle ilgili olmayan sorunları yoksaymak için bir sorunun önem düzeyini düşürebilir veya belirli sorunları öne çıkarmak için önem düzeyini artırabilirsiniz.

lint aracı, Android proje kaynak dosyalarınızda olası hatalar ve doğruluk, güvenlik, performans, kullanılabilirlik, erişilebilirlik ve uluslararasılaştırmaya yönelik optimizasyon iyileştirmeleri açısından kontrol eder. Android Studio'yu kullanırken, uygulamanızı derlediğinizde, yapılandırılmış lint ve IDE denetimleri çalışır. Ancak, bu sayfada açıklandığı gibi denetlemeleri manuel olarak çalıştırabilir veya komut satırından lint çalıştırabilirsiniz.

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

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

Not: Kodunuz Android Studio'da derlendiğinde kod incelemesini kolaylaştırmak için ek IntelliJ kod denetimleri çalıştırılır.

Ş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 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'dan çalıştırabileceğiniz statik bir kod tarama aracı. lint aracı, Android uygulamanızın kalitesini ve performansını etkileyebilecek yapısal kod sorunlarını kontrol eder.
lint kontrolünün sonuçları
Lint'ten alınan 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. Ayrıntılı bilgi için incelemeleri manuel olarak çalıştırma bölümüne bakın.

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

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

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

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

lint aracı, kontrollerini tamamladığında lint raporunun XML ve HTML sürümlerine giden yollar sunar. Ardından, Şekil 2'de gösterildiği gibi HTML raporuna gidebilir ve raporu tarayıcınızda açabilirsiniz.

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

Projeniz derleme varyantları içeriyorsa lint yalnızca varsayılan varyantı kontrol eder. Farklı bir varyant üzerinde lint çalıştırmak istiyorsanız varyant adının büyük harfle yazılması ve lint önekinin eklenmesi gerekir.

./gradlew lintRelease

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

Bağımsız aracı kullanarak lint komutu ç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 adresinde lint aracını bulun.

Not: Bağımsız aracı bir Gradle projesinde çalıştırmayı denediğinizde hata verir. Gradle projesinde lint çalıştırmak için her zaman gradle lint (Windows'da) veya ./gradlew lint (macOS ya da Linux'ta) kullanmanız gerekir.

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

lint [flags] <project directory>

Örneğin, myproject dizini ve alt dizinlerindeki dosyaları taramak için aşağıdaki komutu verebilirsiniz. MissingPrefix sorun kimliği, lint'e yalnızca Android ad alanı öneki olmayan XML özelliklerini taraması gerektiğini bildirir.

lint --check MissingPrefix myproject 

Araç tarafından desteklenen işaretlerin 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 gösterilen 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ı listeleniyor ve hiç hata yok.

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

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

Bir uyarı res diziniyle ilgili: IconMissingDensityFolder.

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

Varsayılan olarak, lint taraması çalıştırdığınızda araç, lint'in desteklediği tüm sorunları kontrol eder. Ayrıca, kontrol edilmesi için lint ile ilgili sorunları kısıtlayabilir ve sorunlar için önem düzeyleri atayabilirsiniz. Örneğin, projenizle ilgili olmayan belirli sorunlar için lint denetimini atlayabilir, kritik olmayan sorunları daha düşük bir önem düzeyinde raporlayacak şekilde lint aracını yapılandırabilirsiniz.

Önem düzeyleri şunlardır:

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

lint denetimini farklı düzeyler için yapılandırabilirsiniz:

  • Global (projenin tamamı)
  • Proje modülü
  • Üretim modülü
  • Test modülü
  • Dosyaları aç
  • Sınıf hiyerarşisi
  • Sürüm Kontrol Sistemi (VCS) kapsamları

lint dosyasını yapılandırma

lint.xml dosyasında lint kontrolü tercihlerinizi 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 kapanış <lint> üst etiketinden oluşur. Lint, her bir <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 sorunla ilgili hata analizi kontrolünü devre dışı bırakmak için <issue> etiketinde önem derecesi özelliğini ayarlayın.

İpucu: lint 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 bildirildiği gösterilmektedir. IconMissingDensityFolder kontrolü tamamen devre dışı bırakılır ve ObsoleteLayoutParam kontrolü yalnızca ekteki <ignore ... /> bildirimlerinde belirtilen dosyalarda devre dışı bırakılır.

Kotlin, Java ve XML kaynak dosyaları için lint denetimini yapılandırma

Tercihler iletişim kutusunda Kotlin, Java ve XML kaynak dosyalarınız için lint denetimini kapatabilirsiniz:

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

Bunları IDE için veya uygun profili seçerek bağımsız projeler için ayarlayabilirsiniz.

Java veya Kotlin'de lint denetimini yapılandırma

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

Aşağıdaki örnekte, onCreate yönteminde NewApi sorunu için hata analizi kontrolünü nasıl devre dışı bırakabileceğiniz gösterilmektedir. lint aracı, bu sınıftaki diğer yöntemlerde 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ı şey 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ünü engellemek için all anahtar kelimesini kullanın:

Kotlin

@SuppressLint("all")

Java

@SuppressLint("all")

Herhangi bir Özelleştirilebilir işlevdeki lint kontrollerini engellemek için aynı ek açıklamayı kullanabilirsiniz.

XML'de lint denetimini yapılandırma

XML dosyalarınızın belirli bölümlerinde lint kontrolünü kapatmak için tools:ignore özelliğini kullanın. Lint 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 bildirildiği ü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 dizede listeleyin. Örneğin:

tools:ignore="NewApi,StringFormatInvalid"

XML öğesindeki tüm lint sorunlarının kontrolünü engellemek için all anahtar kelimesini kullanın:

tools:ignore="all"

Gradle ile lint seçeneklerini yapılandırma

Gradle için Android eklentisi, modül düzeyindeki build.gradle dosyanızda lint{} bloğunu kullanarak belirli lint seçeneklerini (ör. hangi denetimlerin çalıştırılacağı veya yoksayılacağı) yapılandırmanıza olanak tanır.

Aşağıdaki kod snippet'inde, yapılandırabileceğiniz özelliklerden bazıları 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
    }
}
...

Eski

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 düzeyini geçersiz kılan tüm lint yöntemleri, yapılandırma sırasına uyar. Örneğin, bir sorunun finalizeDsl() içinde önemli olarak ayarlanması, 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ü alabilir ve daha sonra yalnızca yeni sorunların raporlanması için bu anlık görüntüyü gelecekteki inceleme çalıştırmaları için temel çizgisi olarak kullanabilirsiniz. Temel anlık görüntü, geri dönüp tüm mevcut sorunları ele almak zorunda kalmadan derlemede başarısız olmak için lint kullanmaya başlamanızı sağlar.

Temel bir anlık görüntü oluşturmak için projenizin build.gradle dosyasını şu şekilde değiştirin:

Kotlin

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

Eski

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

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

Ardından, aşağıdaki gibi komut satırından veya Kod > Kodu İncele'yi seçerek IDE'den lint komutunu çalıştırın. Çıkış, 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 referans denir. lint-baseline.xml dosyasını başkalarıyla paylaşmak için sürüm kontrolüne ekleyebilirsiniz.

Temel çizgisini özelleştirme

Referans değere 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")
    }
}

Eski

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

Referans değeri oluşturduktan sonra kod tabanına yeni uyarılar eklerseniz lint, yalnızca yeni kullanıma sunulan hataları listeler.

Temel uyarı

Referans değer geçerli olduğunda, bir veya daha fazla sorunun referans değerde listelendiği için filtrelendiğini belirten bir uyarı alırsınız. Bu uyarı, bir referans değer yapılandırdığınızı ve tüm sorunları bir noktada düzeltmeniz gerektiğini hatırlamanıza yardımcı olur.

Bu bilgilendirme amaçlı uyarı, artık raporlanmayan sorunların da kaydını tutar. Bu bilgiler, sorunları gerçekten düzeltip düzeltmediğinizi gösterir. Böylece, bir hatanın fark edilmeden geri gelmesini önlemek için isteğe bağlı olarak temeli yeniden oluşturabilirsiniz.

Not: Denetimler IDE'de 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 denetimler için yoksayılır. Bunun nedeni, temel çizgilerin bir kod tabanında çok sayıda mevcut uyarının bulunduğu durumlara yönelik olmasıdır. Ancak, koda dokunduğunuzda sorunları yerel olarak düzeltmek de istersiniz.

İncelemeleri manuel olarak çalıştırma

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

İnceleme kapsamını ve profilini ayarlama

Analiz etmek istediğiniz dosyaları (inceleme kapsamı) ve çalıştırmak istediğiniz incelemeleri (inceleme 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. İnceleme Kapsamını Belirt iletişim kutusunda ayarları inceleyin.

    İnceleme Kapsamını Belirtin
    Şekil 3. İnceleme kapsamı ayarlarını gözden geçirin.

    İnceleme Kapsamını Belirt iletişim kutusunda görünen seçenekler proje, klasör veya dosya seçiminize bağlı olarak değişiklik gösterir:

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

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

  4. İnceleme profili altında, kullanmak istediğiniz profili seçin.
  5. İncelemeyi çalıştırmak için Tamam'ı tıklayın.

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

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

    İnceleme Raporu bölmesinde, İnceleme Sonuçları bölmesinde seçilen hata kategorisi, türü veya sorunu için inceleme raporu görüntülenir. Ayrıca, hatanın adı ve konumu görüntülenir. İnceleme raporu, uygun olduğunda sorunu düzeltmenize yardımcı olmak için sorun özeti gibi diğer bilgileri gösterir.

  7. İnceleme Sonuçları bölmesi ağaç görünümünde, içerik menüsünü görüntülemek için bir kategoriyi, türü veya sorunu sağ tıklayın.

    Bağlama göre yapabilecekleriniz:

    • Kaynağa atla.
    • Seçilen öğeleri hariç tut ve dahil et.
    • Sorunları gizle.
    • Ayarları düzenleyin.
    • Denetleme uyarılarını yönetme.
    • İncelemeyi yeniden yapın.

Araç çubuğu düğmelerinin, içerik menüsü öğelerinin ve inceleme raporu alanlarının açıklamaları için İnceleme Sonuçları Araç penceresi'ne bakın.

Özel kapsam kullan

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

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

    İnceleme Kapsamını Seçin
    Şekil 5. Kullanmak istediğiniz özel kapsamı seçin.
    • Tüm Yerler: Tüm dosyalar.
    • Proje Dosyaları: Geçerli projedeki tüm dosyalar.
    • Proje Kaynak Dosyaları: Yalnızca geçerli projedeki kaynak dosyalar.
    • Proje Üretim Dosyaları: Yalnızca geçerli projedeki üretim dosyaları.
    • Proje Test Dosyaları: Yalnızca geçerli projedeki test dosyaları.
    • Çizikler ve Konsollar: Yalnızca geçerli projede açık olan çalışma dosyaları ve konsollar.
    • Son Görüntülenen Dosyalar: Yalnızca geçerli projedeki son görüntülenen dosyalar.
    • Geçerli dosya: Yalnızca geçerli projenizdeki geçerli dosya. Bir dosya veya klasör seçtiğinizde görünür.
    • Seçili Dizin: Yalnızca geçerli 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ı içeren bir iletişim kutusu görüntülenir. İletişim kutusunda, incelenecek sınıfları filtrelemek ve seçmek için Ada Göre Ara alanını kullanın. Sınıf listesini filtrelemezseniz kod incelemesi tüm sınıfları inceler.

    Proje için yapılandırılmış bir VCS'niz varsa aramayı yalnızca değiştirilmiş dosyalarla kısıtlama seçenekleri de bulunur.

  3. Tamam'ı tıklayın.

Özel kapsam oluşturma

Şu anda kullanılabilen özel kapsamlardan hiçbirinin kapsamında olmayan dosya ve dizinleri incelemek istediğinizde özel bir kapsam oluşturabilirsiniz:

  1. İnceleme Kapsamını Belirt iletişim kutusunda Özel kapsam'ı seçin.
  2. Özel Kapsam listesinden sonraki üç noktayı tıklayın.

    İnceleme Kapsamını Belirt iletişim kutusu
    Şekil 6. İnceleme Kapsamını belirtin iletişim kutusu.

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

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

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

    Kullanımları Bul iletişim kutusundan paylaşılan bir kapsam seçin
    Şekil 8. Kullanımları Bul iletişim kutusundan paylaşılan bir kapsam seçin.
  5. Kapsama bir ad verin ve Tamam'ı tıklayın.

    Kapsamlar iletişim kutusunun sağ bölmesinde özel kapsamı tanımlamanızı sağlayan seçenekler bulunur.

  6. Listeden Proje'yi seçin.

    Kullanılabilir projelerin listesi görünür.

    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 öğeleri seçin ve kapsamı dahil edip etmeyeceğinizi belirleyin.

    Özel bir kapsam tanımlama
    Şekil 9. Özel bir kapsam tanımlayın.
    • Dahil et: Bu klasörü ve içindeki dosyaları dahil edin ancak alt klasörlerinden hiçbirini eklemeyin.
    • Yinelemeli Olarak Ekle: Bu klasörü ve klasörünün yanı sıra alt klasörlerini ve dosyalarını dahil eder.
    • Hariç tut: Bu klasörü ve içindeki dosyaları hariç tutun ancak alt klasörlerinin hiçbirini hariç tutmayın.
    • Yinelemeli Olarak Hariç Tut: Bu klasörü, içindeki dosyaları, alt klasörleri ve dosyaları hariç tutulur.

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

    Özel kapsam için örnek kalıp
    Şekil 10. Özel kapsam için örnek kalıp.
    • Java klasörünü seçer ve Yinelemeli Olarak Hariç Tut'u tıklarsanız 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 renkte vurgulanmaz, ancak Java klasörünün altındaki diğer her şey yeşil kalır.
  8. Tamam'ı tıklayın. Özel kapsam, listenin en altında görünür.

İnceleme profillerini inceleme ve düzenleme

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

İncelemeler ayarlarına erişmek için:

  1. Dosya > Ayarlar'ı seçin. (Windows'da) veya Android Studio > Tercihler (macOS veya Linux'ta).
  2. Düzenleyici > İncelemeler'i seçin.
  3. İncelemeler bölmesinde, desteklenen denetimlerin listesi ve açıklamaları gösterilir.

    Desteklenen denetimler ve açıklamaları
    Şekil 11. Desteklenen denetimler 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ölmedeki İncelemeler listesinde, üst düzey bir profil kategorisi seçin veya bir grubu genişletip belirli bir profili seçin.

    Profil kategorisi seçtiğinizde o kategorideki tüm denetimleri tek bir inceleme olarak düzenleyebilirsiniz.

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