ASfP'de Rust desteği

Genel Bakış

Rust, özellikle bellek güvenliğine odaklanan, performans ve güvenliğe yönelik modern bir sistem programlama dilidir. Rust, kritik sistem bileşenlerini geliştirmek için C/C++'a kıyasla daha güvenli bir alternatif olarak Android ekosisteminde giderek daha önemli bir yer edinmektedir. Rust, daha iyi güvenlik ve kararlılık sunar.

Bu sayfa, Android Açık Kaynak Projesi (AOSP) projelerinizde Rust geliştirmeyi desteklemek için Platform için Android Studio'yu (ASfP) kurma konusunda size yol gösterir.

Ön koşullar

  • ASfP yüklü: ASfP'nin yüklü ve çalışır durumda olduğunu doğrulayın.
  • Platform ödeme: Makinenizde çalışan bir AOSP platform ödemesi olması gerekir.

Rust desteğini etkinleştirme

ASfP projenizde Rust desteğini etkinleştirmek için adım adım yapmanız gerekenler:

  1. Rust'ı etkinleştirme

    • Kurulum sihirbazında yeni bir proje oluştururken Rust kutusunu işaretlemeniz yeterlidir:
    Yeni proje kurulum sihirbazında Rust onay kutusu.
    Yeni proje kurulum sihirbazında Rust onay kutusu.
    • Mevcut projeler için .asfp-project yapılandırmanıza gidin ve other_languages'ye rust ekleyin:
        other_languages:
          -   cpp
          -   rust
        ```
    
    <figure>
          <img src="/studio/platform/images/1-modify_asfp_project_languages.png" alt="Modifying the .asfp-project file to add rust to other_languages" class="screenshot">
          <figcaption>Adding Rust support in the <code>.asfp-project</code> file.</figcaption>
        </figure>
    
  1. Projenizi senkronize etme:

    • Önceki adımları uyguladıktan sonra, tüm değişikliklerin uygulanmasını ve IDE'nin Rust projesini tanımasını sağlamak için proje senkronizasyonunu tetiklemeniz gerekir: Dosya > Projeyi Senkronize Et'e gidin.

Başarıyı doğrulama

Bu adımları tamamladıktan sonra:

  • Proje görünümünüzde (kaynak iml'nin altında) rust-project.json simgesini görmeniz gerekir. Bu dosya, analiz sırasında Soong tarafından oluşturulur ve LSP'nin dil hizmetleri sağlaması için gerekli olan depo köküne sembolik olarak bağlanır. Bu dosyayı doğrudan düzenlemeyin. Bunun yerine, Soong'un dosyayı işlemesi için yeniden senkronize edin.

    rust öğesinin .asfp-project yapılandırmanızdaki other_languages altında bulunduğunu tekrar kontrol etmenizi hatırlatırız.

    rust-project.json dosyasının oluşturulduğundan emin olun.
    rust-project.json oluşturulduğundan emin olun.
  • IDE'nizde Rust'a özgü özelliklerin (aşağıda açıklanmış ve gösterilmiştir) etkinleştirildiğini görmelisiniz.

Önemli Rust IDE özellikleri

  • Kod tamamlama: Diğer modüllerdeki öğeler de dahil olmak üzere Rust kodu için akıllı öneriler alın.

    Rust modüller arası kod tamamlama örneği
    Farklı bir Rust modülündeki öğeleri öneren kod tamamlama.

  • Gezinme: Tanımlara hızlıca geçin ve projenizdeki Rust sembollerinin kullanımlarını bulun.

    Rust kodunda gezinme örneği
    Rust sembolünün tanımına gitme.
    Rust find usages örneği
    Rust sembolünün tüm kullanımlarını bulma.

  • İpuçları: Tür bilgilerini ve dokümanları görmek için sembollerin üzerine gelin.

    Rust ipucu örneği
    Başka bir modüldeki Rust sembolü için tür bilgilerini gösteren ipucu.

  • Yerleştirilmiş ipuçları: Tür bilgilerini ve diğer bağlamsal ipuçlarını doğrudan düzenleyicide görüntüleyin.

    Rust inlay hints örneği
    Kodun içinde tür bilgilerini gösteren yerleştirilmiş ipuçları.

  • Yapı görünümü: Yapı araç penceresini (Görünüm > Araç Pencereleri > Yapı) kullanarak Rust dosyalarınızın yapısında gezinin.

    Rust yapı görünümü örneği
    Bir Rust dosyasının ana hattını gösteren yapı aracı penceresi.

  • Yeniden düzenleme: Sembolleri güvenli bir şekilde yeniden adlandırın ve tüm kullanımların güncellenmesini sağlayın.

    Rust sembolünü yeniden adlandırma refactoring örneği
    Rust sembolünü yeniden adlandırma ve tüm referanslarını güncelleme.

  • Anlık analiz: Rust kodunuzdaki hatalar ve uyarılar hakkında anında geri bildirim alın.

    Rust gerçek zamanlı kod analizi örneği
    IDE, Rust kodundaki hataları ve uyarıları anlık olarak gösteriyor.