Kodunuzu lint kontrolleriyle iyileştirme

Uygulamanızın işlevsel gereksinimlerini karşıladığından emin olmak için testler oluşturmanın yanı sıra, kodunuzda yapısal bir sorun olmadığı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 kötü yapılandırılmış kodları bulmanıza yardımcı olur ve kodunuzun bakımını zorlaştırır. 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 işlem yer kaplar ve gereksiz işlem gerektirir. Kullanımdan kaldı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.

Hata analizi performansını iyileştirmek için kodunuza ek açıklamalar da ekleyebilirsiniz.

Genel bakış

Android Studio, uygulamayı yürütmek veya test senaryoları yazmak zorunda kalmadan kodunuzun yapısal kalitesiyle ilgili sorunları belirleyip düzeltmenize yardımcı olabilecek, lint adlı bir kod tarama aracı sunar. Araç tarafından tespit edilen her sorun, bir açıklama mesajı ve önem düzeyiyle birlikte bildirilir. Böylece, yapılması gereken kritik iyileştirmelere öncelik verebilirsiniz. Ayrıca projenizle alakalı olmayan sorunları yok saymak için sorunun önem düzeyini düşürebilir veya belirli sorunları vurgulamak için önem düzeyini yükseltebilirsiniz.

lint aracı, Android proje kaynak dosyalarınızı olası hatalara karşı kontrol eder ve doğruluk, güvenlik, performans, kullanılabilirlik, erişilebilirlik ve uluslararasılaştırma açısından optimizasyon iyileştirmeleri yapar. Android Studio kullanılırken, yapılandırılmış lint ve IDE denetimleri uygulamanızı derlediğinizde ç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ı, 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ı renkle vurgular. Daha ciddi sorunlar için ise kodun altı kırmızıyla çizilir.
  • lint İnceleme Sonuçları penceresinde, Kod > Kodu İncele'yi tıklayın.

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 derecelerini özelleştirmek için kullanabileceğiniz bir yapılandırma dosyasıdır.
lint aracı
Android projenizde komut satırından veya Android Studio'dan çalıştırabileceğiniz statik kod tarama aracı. lint aracı, Android uygulamanızın kalitesini ve performansını etkileyebilecek yapısal kod sorunlarını kontrol eder.
Hata analizi kontrolünün sonuçları
Lint'in sonuçlarını 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 denetimleri manuel olarak çalıştırma hakkındaki 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 amacıyla Gradle sarmalayıcısını 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ı sağlar. Daha sonra, Ş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 varyantta lint çalıştırmak istiyorsanız varyant adını büyük harfle yazmalı ve önüne lint yazmalısınız.

./gradlew lintRelease

Gradle görevlerini komut satırından çalıştırma hakkında daha fazla bilgi edinmek için Uygulamanızı komut satırından derleme bölümünü okuyun.

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 adresinde lint aracını bulun.

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

Bir proje dizinindeki bir dosya listesinde lint ç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 yayınlayabilirsiniz. MissingPrefix sorun kimliği, lint'e yalnızca Android ad alanı önekini içermeyen XML özelliklerini taramasını 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 Deprem adlı bir projede çalıştırıldığında elde edilen 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ı listelenir ve hiçbir hata gösterilmez.

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

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

Uyarılardan biri, res diziniyle ilgili: IconMissingDensityFolder.

Uyarıları atlayacak şekilde lint'i yapılandırma

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

Önem düzeyleri şunlardır:

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

Hata analizi kontrolünü farklı düzeyler için yapılandırabilirsiniz:

  • Global olarak (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 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 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 hata analizi kontrolünü devre dışı bırakmak için <issue> etiketinde önem derecesi özelliğini ayarlayın.

İpucu: lint destekli sorunların tam listesi ve bunlara karşılık gelen sorun kimlikleri 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 örnek, farklı sorun türlerinin nasıl raporlandığını gösterir. IconMissingDensityFolder kontrolü tamamen devre dışı bırakıldı. ObsoleteLayoutParam kontrolü yalnızca ekteki <ignore ... /> bildirimlerinde belirtilen dosyalarda devre dışı bırakıldı.

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

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

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

Bunları uygun profili seçerek IDE için veya ayrı ayrı projeler için ayarlayabilirsiniz.

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

Android projenizdeki bir sınıf veya yöntem için özel olarak lint denetimini devre dışı bırakmak istiyorsanız @SuppressLint ek açıklamasını bu koda 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ıfın diğer yöntemlerindeki 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'i, herhangi bir Composable'da NewApi kontrollerini nasıl devre dışı bırakabileceğinizi gösterir.

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 durdurmak için all anahtar kelimesini kullanın:

Kotlin

@SuppressLint("all")

Java

@SuppressLint("all")

Herhangi bir Composable işlevde lint kontrollerini engellemek için aynı ek açıklamayı kullanabilirsiniz.

XML'de hata analizini yapılandırma

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

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

Aşağıdaki örnekte, bir 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 denetimi 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 öğesinde tüm lint sorunlarının kontrol edilmesini durdurmak için all anahtar kelimesini kullanın:

tools:ignore="all"

Gradle ile hata analizi seçeneklerini yapılandırma

Gradle için Android eklentisi, modül düzeyindeki build.gradle dosyanızda lint{} bloğunu kullanarak hangi denetimlerin çalıştırılacağı veya yoksayılacağı 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
    }
}
...

Modern

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 hata analizi yöntemleri yapılandırma sırasına uyar. Örneğin, finalizeDsl() özelliğinde bir sorunun kritik olarak ayarlanması, ana DSL'de devre dışı bırakılmasını geçersiz kılar.

Uyarı için referans değer oluştur

Projenizin mevcut uyarı grubunun anlık görüntüsünü aldıktan sonra bu anlık görüntüyü gelecekteki inceleme çalıştırmalarında temel olarak kullanabilir ve böylece yalnızca yeni sorunların raporlanmasını sağlayabilirsiniz. Temel anlık görüntü, geri dönüp ilk önce mevcut tüm sorunları ele almanıza gerek kalmadan derlemeyi başarısız kılmak için lint'i kullanmaya başlayabilmenizi sağlar.

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

Kotlin

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

Modern

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

Bu satırı ilk eklediğinizde temel çizginizi oluşturmak için lint-baseline.xml dosyası oluşturulur. Sonrasında, araçlar temel değeri belirlemek için dosyayı yalnızca okur. Yeni bir referans oluşturmak isterseniz dosyayı manuel olarak silin ve yeniden oluşturmak için lint'i tekrar çalıştırın.

Ardından, aşağıdaki gibi Kod > Kodu İncele'yi seçerek veya komut satırından lint'i ç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, tüm mevcut sorunlar lint-baseline.xml dosyasına kaydedilir. Mevcut sorunlar kümesine referans adı verilir. Başkalarıyla paylaşmak istiyorsanız lint-baseline.xml dosyasını sürüm denetiminde kontrol edebilirsiniz.

Temel çizgiyi ö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")
    }
}

Modern

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

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

Referans değer uyarısı

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

Bu bilgi amaçlı uyarı, artık bildirilmeyen sorunların kaydını tutar. Bu bilgiler, sorunları gerçekten düzeltip düzeltmediğinizi bilmenizi sağlar. Böylece bir hatanın algılanmadan geri gelmesini önlemek için isteğe bağlı olarak referans değeri yeniden oluşturabilirsiniz.

Not: Temel değerler, IDE'de toplu modda denetimleri çalıştırdığınızda etkinleştirilir, ancak bir dosyayı düzenlerken arka planda çalışan düzenleyici içi kontroller için yoksayılır. Bunun nedeni, referans değerlerin, bir kod tabanında çok sayıda mevcut uyarı olduğu ancak koda dokunurken sorunları yerel olarak düzeltmek istediğiniz durumlara yönelik olmasıdır.

Denetimleri 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. İncelemenin sonuçları, İnceleme Sonuçları penceresinde gösterilir.

İnceleme kapsamını ve profilini ayarlama

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

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

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

    İnceleme Kapsamını Belirtin 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 kutusu, seçtiğiniz proje, dosya veya dizinin yolunu gösterir.
    • 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.

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

  4. İnceleme profili bölümünde kullanmak istediğiniz profili seçin.
  5. Denetlemeyi çalıştırmak için Tamam'ı tıklayın.

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

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

    İnceleme Raporu bölmesi, İnceleme Sonuçları bölmesinde seçilen hata kategorisi, tür veya soruna ilişkin inceleme raporunu ve hatanın adını ve konumunu görüntüler. İnceleme raporu, mümkün olduğu durumlarda sorunu düzeltmenize yardımcı olmak için sorunun özeti gibi başka bilgiler de 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 bağlı olarak şunları yapabilirsiniz:

    • Kaynağa atla.
    • Seçilen öğeleri hariç tut ve dahil et.
    • Sorunları gizle.
    • Ayarları düzenleyin.
    • İnceleme uyarılarını yönetin.
    • Bir denetimi tekrar 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 bölümüne bakın.

Özel kapsam kullan

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

  1. İnceleme Kapsamını Belirtin 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 Kaynağı Dosyaları: Yalnızca geçerli projedeki kaynak dosyaları.
    • Proje Üretim Dosyaları: Sadece geçerli projedeki üretim dosyaları.
    • Proje Test Dosyaları: Yalnızca geçerli projedeki test dosyaları.
    • Çizimler ve Konsollar: Yalnızca geçerli projede açık olan çalışma dosyaları ve konsollar.
    • Son Görüntülenen Dosyalar: Geçerli projede yalnızca son görüntülenen dosyalar.
    • Geçerli Dosya: Yalnızca geçerli projenizdeki geçerli dosya. Bir dosya veya klasör seçili olduğunda 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österilir. İ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 vardır.

  3. Tamam'ı tıklayın.

Özel kapsam oluşturma

Şu anda kullanılabilen özel kapsamların hiçbirinin kapsamında olmayan bir dosya ve dizin seçkisini incelemek istediğinizde özel bir kapsam oluşturabilirsiniz:

  1. İnceleme Kapsamını Belirtin 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ı Belirt 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. Görüntülenen Add Scope (Kapsam Ekle) listesinde Local'i (Yerel) seçin.

    Projede Kodu İncele özelliği için hem yerel hem de paylaşılan kapsamlar kullanılır. Shared 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 bir kapsamı seçebileceğiniz Kapsam alanı görünür.

    Kullanım Bul iletişim kutusundan paylaşılan bir kapsam seçme
    Şekil 8. Kullanım Bul iletişim kutusundan paylaşılan bir kapsam seçin.
  5. Kapsama bir ad verin ve OK (Tamam) seçeneğini tıklayın.

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

  6. Listeden Proje'yi seçin.

    Kullanılabilir projelerin listesi görüntülenir.

    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 etmeyi veya hariç tutmayı seçin.

    Ö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 eklemeyin.
    • Yinelemeli Olarak Dahil Et: Bu klasörü, klasörlerini, alt klasörlerini ve dosyalarını dahil edin.
    • Hariç tut: Bu klasörü ve dosyalarını hariç tutun ancak alt klasörlerinden hiçbirini hariç tutmayın.
    • Yinelemeli Olarak Hariç Tut: Bu klasörü, içindeki dosyaları, alt klasörlerini ve dosyalarını hariç tutun.

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

    Özel kapsam için örnek kalıp
    Şekil 10. Özel bir kapsam için örnek kalıp.
    • java klasörünü seçer ve Tekrarlamalı Olarak Hariç Tut'u tıklarsanız java klasörü ve altındaki tüm klasör ve dosyalardaki yeşil vurgu kaybolur.
    • Yeşille vurgulanmış MainActivity.kt dosyasını seçer ve Hariç tut'u tıklarsanız MainActivity.kt dosyası artık yeşil olarak vurgulanmaz ancak java klasörü altındaki diğer her şey yeşil olarak 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, Android güncellemeleriyle güncellenen bir dizi hata analizi ve diğer inceleme profillerine sahiptir. Bu profilleri oldukları gibi kullanabilir veya adlarını, açıklamalarını, önem düzeylerini ve kapsamlarını düzenleyebilirsiniz. Ayrıca, profil gruplarını tümüyle veya bir grup içindeki 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'de (macOS ya da Linux'ta) seçeneğini belirleyin.
  2. Düzenleyici > Denetimler'i seçin.
  3. İncelemeler bölmesinde, desteklenen denetimlerin bir 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 Profile (Profil) listesini seçin.

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

  5. Sol bölmedeki İncelemeler listesinden üst düzey bir 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 inceleme olarak düzenleyebilirsiniz.

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