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 sorunlar olmadığından emin olmak için kodu lint aracıyla da çalıştırmanız önemlidir. lint 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'in tespit ettiği hataları düzeltmeniz önemle tavsiye edilir.

Örneğin, XML kaynak dosyalarınız kullanılmayan ad alanları içeriyorsa yer kaplar ve gereksiz işlemler gerektirir. Kullanımdan kaldı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ışmamasına neden olabilir. Lint, bu sorunları gidermenize yardımcı olabilir.

Hatalı inceleme 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. Aracın tespit ettiği 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 ilgisi olmayan sorunları göz ardı etmek için sorunun önem derecesini azaltabilir ya da belirli sorunları vurgulamak için önem düzeyini yükseltebilirsiniz.

lint aracı, Android proje kaynak dosyalarınızda potansiyel hatalar olup olmadığını ve doğruluk, güvenlik, performans, kullanılabilirlik, erişilebilirlik ve uluslararasılaştırma açısından optimizasyon iyileştirmelerini kontrol eder. Android Studio kullanırken, yapılandırılmış lint ve IDE denetimleri, uygulamanızı derlediğinizde çalıştırır. Ancak bu sayfada açıklandığı gibi denetimleri 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, bu sorunlu kodu sarı renkle vurgular. Daha ciddi sorunlarda 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ını kullanarak 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ı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.
Hasta hata analizinin sonuçları
Lint'ten elde edilen 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 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
    

Aşağıdakine benzer bir çıkış almanız gerekir:

> 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 hata analizi raporu
Şekil 2. Örnek HTML hata analizi raporu.

Projeniz oluşturma 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 koymalı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 bağlantısında 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) 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 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ı öneki olmayan 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
Uyarılardan biri Preferences.xml düzen dosyasıyla ilgili: UnusedResources.

Bir uyarı, res diziniyle ilgili: IconMissingDensityFolder.

Uyarıları gizlemek için hata analizi yapılandırma

Varsayılan olarak, lint taraması yaptığınızda araç, lint'in desteklediği tüm sorunları kontrol eder. Ayrıca, Lant'ın kontrol etmesi için sorunları kısıtlayabilir ve sorunlara önem düzeyleri atayabilirsiniz. Örneğin, projenizle alakalı olmayan belirli sorunlar için lint kontrolünü atlayabilir 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 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 analizini 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 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 denetimi tamamen devre dışı bırakılır ve ObsoleteLayoutParam denetimi 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ı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.

Uygun profili seçerek bunları IDE için veya tek tek 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 hata analizini devre dışı bırakmak istiyorsanız ilgili koda @SuppressLint ek açıklamasını ekleyin.

Aşağıdaki örnekte, onCreate yönteminde NewApi sorunu için lint 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 Composable herhangi bir Composable'da da yapılabilir. Aşağıdaki kod snippet'i, Composable dosyalarında NewApi kontrollerini nasıl devre dışı bırakabileceğinizi göstermektedir.

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

Kotlin

@SuppressLint("all")

Java

@SuppressLint("all")

Oluşturulabilir herhangi bir işlevde lint kontrollerini engellemek için aynı ek açıklamayı kullanabilirsiniz.

XML'de lint kontrolünü 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 bu özelliği tanıması için aşağıdaki ad alanı değerini lint.xml dosyasına yerleştirin:

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

Aşağıdaki örnekte, XML düzen dosyasının <LinearLayout> öğesinde 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, alt <TextView> öğesi için hata analizi kontrolü 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 hata analizi sorunlarının kontrol edilmesini önlemek 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() ürününde bir sorunu önemli olarak ayarlamak, ana DSL'de devre dışı bırakmayı geçersiz kılar.

Uyarı referans değeri oluşturun

Projenizin mevcut uyarı grubunun anlık görüntüsünü alabilir, ardından yalnızca yeni sorunların raporlanması için bu anlık görüntüyü gelecekteki incelemeler için temel olarak kullanabilirsiniz. Temel anlık görüntü, geri dönüp öncelikle mevcut tüm sorunları gidermenize 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 çizgisini belirlemek için dosyayı yalnızca okur. Yeni bir temel 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, lint-baseline.xml dosyasındaki mevcut tüm sorunlar kaydedilir. Mevcut sorunlar kümesine referans adı verilir. Başkalarıyla paylaşmak istiyorsanız lint-baseline.xml dosyasını sürüm denetimine kontrol edebilirsiniz.

Temel çizgisini özelleştirme

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

Temel uyarı

Referans bir 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 bilgilendirme amaçlı uyarı, artık raporlanmayan sorunların kaydını da tutar. Bu bilgiler, sorunları gerçekten düzeltip düzeltmediğinizi bilmenizi sağlar. Böylece, bir hatanın algılanmadan geri dönmesini önlemek için isteğe bağlı olarak referans değeri yeniden oluşturabilirsiniz.

Not: Referans değerler, IDE'de toplu modda denetlemeler ç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, temel değerlerin, kod tabanında çok sayıda mevcut uyarı olduğu ancak koda dokunurken sorunları yerel olarak düzeltmek istediğiniz durumlar için 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. Denetlemenin 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 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 İncele'yi seçin.
  3. İnceleme Kapsamını Belirtin iletişim kutusunda ayarları inceleyin.

    İnceleme Kapsamını Belirtin
    Şekil 3. İnceleme kapsamı ayarlarını inceleyin.

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

    • Bir proje, dosya veya dizin seçtiğinizde Denetleme 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 Denetleme Kapsamını Belirt iletişim kutusunda Seçilen dosyalar için seçili bir radyo düğmesi görüntülenir.

    Neyi denetleyeceğinizi 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 denetleme sonuçları gösterilmektedir:

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

    İnceleme Raporu bölmesi, İnceleme Sonuçları bölmesinde seçilen hata kategorisi, tür veya sorun için denetleme raporunu ve hatanın adını ve konumunu görüntüler. İnceleme raporu, mümkün olduğunda 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 git.
    • Seçilen öğeleri hariç tut ve dahil et.
    • Sorunları gizle.
    • Ayarları düzenleyin.
    • Denetleme uyarılarını yönetme.
    • İncelemeyi 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 kullanma

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ı: 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 karalama 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çtiğinizde görünür.
    • Seçili Dizin: Yalnızca geçerli projenizdeki geçerli klasördür. Seçili bir klasör olduğunda 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ünür. İ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ştirilen 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ına girmeyen bir dosya ve dizinleri 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 Kapsam Ekle listesinde Yerel'i seçin.

    Projede Kodu İncele özelliği için hem yerel hem de paylaşılan kapsamlar kullanılır. Paylaşılan bir 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ımları Bul iletişim kutusundan paylaşılan bir kapsam seçin.
  5. Kapsamı adlandırın ve Tamam'ı 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 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.
    • Tekrarlı Olarak Dahil Et: Bu klasörü ve dosyalarını, 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.
    • Tekrarlamalı olarak hariç tut: Bu klasörü ve dosyalarını, alt klasörlerini ve dosyalarını hariç tutun.

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

    Özel kapsam için örnek kalıp
    Şekil 10. Özel kapsam için örnek kalıp.
    • Java klasörünü seçip Yinelemeli Olarak Hariç Tut'u tıklarsanız java klasörü ve altındaki tüm klasör ve dosyalardaki yeşil vurgu kaybolur.
    • Yeşil renkle vurgulanmış MainActivity.kt dosyasını seçer ve Hariç Tut'u tıklarsanız MainActivity.kt, artık yeşil olarak vurgulanmaz ancak java klasörü 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, Android güncellemeleriyle güncellenen çeşitli lint ve diğer denetleme profillerine sahiptir. Bu profilleri olduğu gibi kullanabilir veya adlarını, açıklamalarını, önem düzeylerini 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 ya da Linux'ta).
  2. Düzenleyici > Denetimler'i seçin.
  3. İncelemeler bölmesinde, desteklenen denetimlerin bir listesi ve bunların açıklamaları gösterilir.

    Desteklenen denetimler ve bunların açıklamaları
    Şekil 11. Desteklenen denetimler ve bunların 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.

    Bir profil kategorisi seçtiğinizde, ilgili 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 ve dışa aktarmak için Show Schema Actions (Şema İşlemlerini Göster) Şema İşlemleri simgesini göster listesini seçin.
  7. İşiniz bittiğinde Tamam'ı tıklayın.