การรองรับ Rust ใน ASfP

ภาพรวม

Rust เป็นภาษาโปรแกรมระบบที่ทันสมัยซึ่งมุ่งเน้นประสิทธิภาพและความปลอดภัย โดยเฉพาะความปลอดภัยของหน่วยความจำ Rust มีความสำคัญมากขึ้นในระบบนิเวศของ Android เนื่องจากเป็นทางเลือกที่ปลอดภัยกว่าสำหรับ C/C++ ในการพัฒนาคอมโพเนนต์ระบบที่สำคัญ ซึ่งช่วยปรับปรุงความปลอดภัยและความเสถียร

หน้านี้จะแนะนำขั้นตอนการตั้งค่า Android Studio สำหรับแพลตฟอร์ม (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 ให้ไปที่ไฟล์ > ซิงค์โปรเจ็กต์

การยืนยันความสำเร็จ

หลังจากทำตามขั้นตอนเหล่านี้แล้ว

  • คุณควรเห็น rust-project.json ในมุมมองโปรเจ็กต์ (ในส่วนของแหล่งข้อมูล iml) ไฟล์นี้สร้างขึ้นโดย Soong ระหว่างการวิเคราะห์และลิงก์สัญลักษณ์ไปยัง รูทของที่เก็บ ซึ่งจำเป็นสำหรับ LSP ในการให้บริการภาษา อย่าแก้ไขไฟล์นี้โดยตรง แต่ให้ซิงค์อีกครั้งเพื่อให้ Soong จัดการ

    โปรดตรวจสอบว่ามี rust อยู่ในส่วนother_languages ในการกำหนดค่า .asfp-project

    ตรวจสอบว่าได้สร้าง rust-project.json แล้ว
    ตรวจสอบว่าได้สร้าง rust-project.json แล้ว
  • คุณควรเห็นฟีเจอร์เฉพาะของ Rust (อธิบายและแสดงด้านล่าง) ที่เปิดใช้ใน IDE

ฟีเจอร์หลักของ IDE สำหรับ Rust

  • การเติมโค้ดให้สมบูรณ์: รับคำแนะนำอัจฉริยะสำหรับโค้ด Rust ซึ่งรวมถึง รายการจากโมดูลอื่นๆ

    ตัวอย่างการเติมโค้ดข้ามโมดูลใน Rust
    การเติมโค้ดอัตโนมัติที่แนะนำรายการจากโมดูล Rust อื่น

  • การนำทาง: ไปยังคำจำกัดความและค้นหาการใช้งานสัญลักษณ์ Rust ในโปรเจ็กต์ได้อย่างรวดเร็ว

    ตัวอย่างการไปยังส่วนต่างๆ ของโค้ด Rust
    ไปที่คำจำกัดความของสัญลักษณ์ Rust
    ตัวอย่างการค้นหาการใช้งาน Rust
    ค้นหาการใช้งานสัญลักษณ์ Rust ทั้งหมด

  • เคล็ดลับเครื่องมือ: วางเมาส์เหนือสัญลักษณ์เพื่อดูข้อมูลประเภทและเอกสารประกอบ

    ตัวอย่างเคล็ดลับเครื่องมือ Rust
    เคล็ดลับเครื่องมือที่แสดงข้อมูลประเภทสำหรับสัญลักษณ์ Rust จากโมดูลอื่น

  • คำแนะนำในเลย์เอาต์: ดูข้อมูลประเภทและคำแนะนำอื่นๆ ตามบริบทได้โดยตรง ในเครื่องมือแก้ไข

    ตัวอย่างคำแนะนำการแทรก Rust
    คำแนะนำแบบอินเลย์ที่แสดงข้อมูลประเภทภายในโค้ด

  • มุมมองโครงสร้าง: ไปยังโครงสร้างของไฟล์ Rust โดยใช้หน้าต่างเครื่องมือโครงสร้าง (ดู > หน้าต่างเครื่องมือ > โครงสร้าง)

    ตัวอย่างมุมมองโครงสร้าง Rust
    หน้าต่างเครื่องมือโครงสร้างที่แสดงโครงร่างของไฟล์ Rust

  • การปรับโครงสร้างโค้ด: เปลี่ยนชื่อสัญลักษณ์อย่างปลอดภัยและอัปเดตการใช้งานทั้งหมด

    ตัวอย่างการปรับโครงสร้างสัญลักษณ์การเปลี่ยนชื่อใน Rust
    การเปลี่ยนชื่อสัญลักษณ์ Rust และอัปเดตการอ้างอิงทั้งหมด

  • การวิเคราะห์แบบเรียลไทม์: รับความคิดเห็นทันทีเกี่ยวกับข้อผิดพลาดและคำเตือนในโค้ด Rust

    ตัวอย่างการวิเคราะห์โค้ดแบบเรียลไทม์ของ Rust
    IDE แสดงข้อผิดพลาดและคำเตือนแบบเรียลไทม์ในโค้ด Rust