پشتیبانی از Rust در ASfP

نمای کلی

‫Rust یک زبان برنامه‌نویسی سیستم مدرن است که بر عملکرد و ایمنی، به‌ویژه ایمنی حافظه، تمرکز دارد. ‫Rust به‌عنوان جایگزینی ایمن‌تر برای C یا C++ در توسعه اجزای مهم سیستم، امنیت و پایداری بهبودیافته‌ای را ارائه می‌دهد و ازاین‌رو اهمیت آن در بوم‌سازگان Android رو به افزایش است.

این صفحه شما را در راه‌اندازی Android Studio for Platform (ASfP) برای پشتیبانی از توسعه Rust در پروژه‌های Android Open Source Project (AOSP) راهنمایی می‌کند.

پیش‌نیازها

  • ‫ASfP نصب شد: بررسی کنید که ASfP نصب و اجرا شده باشد.
  • تسویه‌حساب پلاتفرم: باید تسویه‌حساب پلاتفرم AOSP در ماشینتان کار کند.

فعال کردن پشتیبانی از Rust

در اینجا فرایند گام‌به‌گام برای فعال کردن پشتیبانی Rust در پروژه ASfP شما آمده است:

  1. فعال کردن Rust

    • هنگام ایجاد پروژه جدید در جادوگر راه‌اندازی، چارگوش انتخاب برای Rust را انتخاب کنید:
    چارگوش انتخاب Rust در «دستیار راه‌اندازی پروژه جدید».
    چارگوش انتخاب Rust در دستیار راه‌اندازی پروژه جدید.
    • برای پروژه‌های موجود، .asfp-project فایل پیکربندی را باز کنید و rust را به other_languages اضافه کنید:
        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. همگام‌سازی پروژه

    همگام‌سازی پروژه را راه‌اندازی کنید تا IDE جعبه‌های Rust شما را تولید و فهرست‌بندی کند: ASfP > همگام‌سازی > همگام‌سازی پروژه را انتخاب کنید.

درستی‌سنجی پیکربندی

پس‌از تکمیل این مراحل، نتایج زیر را درستی‌سنجی کنید:

  • rust-project.json در نمای پروژه شما در زیر فایل منبع .iml ظاهر می‌شود. این فایل درطول تجزیه‌وتحلیل توسط Soong تولید می‌شود و به ریشه مخزن پیوند نمادین داده می‌شود که برای «پروتکل سرور زبان» (LSP) برای ارائه خدمات زبان ضروری است. این فایل را مستقیماً ویرایش نکنید؛ درعوض، برای اینکه Soong آن را مدیریت کند، دوباره همگام‌سازی کنید.

    مطمئن شوید که rust در بخش other_languages در پیکربندی .asfp-project شما وجود داشته باشد.

    مطمئن شوید که rust-project.json تولید شده است.
    مطمئن شوید که rust-project.json تولید شده است.
  • «محیط توسعه یکپارچه» شما ویژگی‌های خاص Rust زیر را فعال می‌کند.

ویژگی‌های کلیدی IDE در Rust

  • عیب‌یابی LLDB داخلی و دیداری‌سازهای متغیر: خدمات دستگاه Rust درحال اجرا را از اجرا > پیوست به فرایند Android عیب‌یابی کنید. همچنین می‌توانید هدف‌های rust_test یا rust_test_host را مستقیماً از نمادهای Android.bp حاشیه بااستفاده از اشکال‌زدای LLDB داخلی ASfP (lldb-dap) راه‌اندازی کنید، با چاپگرهای زیبای خودکار برای String، Vec، HashMap، و Option. برای اطلاعات بیشتر، اشکال‌زدایی کد Rust را ببینید.
  • تکمیل کد: پیشنهادهای هوشمندانه‌ای برای کد Rust دریافت کنید، ازجمله موارد از واحدهای دیگر.

    نمونه تکمیل کد بین واحدی Rust
    تکمیل کد مواردی را از واحد Rust دیگری پیشنهاد می‌دهد.

  • پیمایش: به تعریف‌ها بپرید و کاربردهای نمادهای Rust را در پروژه‌تان پیدا کنید.

    مثالی از پیمایش کد Rust
    پیمایش به تعریف نماد Rust.
    مثال Rust برای یافتن موارد استفاده
    یافتن همه موارد استفاده از نماد Rust.

  • نکته‌ابزارها: نشانگر را روی نمادها نگه دارید تا اطلاعات نوع و اسناد را ببینید.

    نمونه نکته‌ابزار Rust
    نکته‌ابزاری که اطلاعات نوع را برای نماد Rust از ماژولی دیگر نشان می‌دهد.

  • نکات راهنمایی درجا: اطلاعات نوع و نکات راهنمایی زمینه‌ای دیگر را مستقیماً در ویرایشگر مشاهده کنید.

    مثال خوانایاری‌های ترصیع Rust
    نشانه‌های درج که اطلاعات نوع را در کد نشان می‌دهد.

  • نمای ساختار: بااستفاده از پنجره ابزار ساختار (نمایش > پنجره‌های ابزار > ساختار)، در ساختار فایل‌های Rust پیمایش کنید.

    مثال نمای ساختار Rust
    پنجره ابزار ساختار که نمای کلی فایل Rust را نشان می‌دهد.

  • بازسازی: نمادها را به‌طور ایمن تغییر نام دهید و همه موارد استفاده را به‌روز کنید.

    مثال تغییر نام نماد در Rust
    تغییر نام نماد Rust و به‌روزرسانی همه ارجاع‌های آن.

  • تجزیه‌وتحلیل هم‌زمان: درباره خطاها و هشدارهای موجود در کد Rust خود بازخورد فوری دریافت کنید.

    مثال تجزیه‌وتحلیل هم‌زمان کد Rust
    IDE خطاهای هم‌زمان و هشدارهای کد Rust را نشان می‌دهد.