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 sayfada, 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österilmektedir.

Ön koşullar

  • ASfP yüklendi: ASfP'nin yüklendiğini ve çalıştığını 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ındaki 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ı ve IDE'nin Rust projesini tanıması 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 rust-project.json simgesini (kaynak iml'nin altında) görmeniz gerekir. Bu dosya, analiz sırasında Soong tarafından oluşturulur ve LSP'nin dil hizmetleri sunması için gerekli olan depo köküne sembolik olarak bağlanır. Bu dosyayı doğrudan düzenle meyin. Bunun yerine, Soong'un dosyayı işlemesi için yeniden senkronize edin.

    .asfp-project yapılandırmanızda other_languages altında rust öğesinin 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.

Rust IDE'nin temel ö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 example
    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çindeki tür bilgilerini gösteren 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
    Bir Rust sembolünü yeniden adlandırma ve tüm referanslarını güncelleme.

  • Anlık analiz: Rust kodunuzdaki hatalar ve uyarılarla ilgili 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.