หน้านี้จะอธิบายวิธีผสานรวม Bazel กับ IDE เช่น IntelliJ, Android Studio และ CLion (หรือสร้างปลั๊กอิน IDE ของคุณเอง) นอกจากนี้ยังมีลิงก์ไปยังรายละเอียดการติดตั้งและปลั๊กอินด้วย
IDE ผสานรวมกับ Bazel ได้หลายวิธี ตั้งแต่ฟีเจอร์ที่อนุญาตให้ดำเนินการ Bazel จากภายใน IDE ไปจนถึงการรับรู้โครงสร้างของ Bazel เช่น การไฮไลต์ไวยากรณ์ของไฟล์ BUILD
หากคุณสนใจที่จะพัฒนาปลั๊กอินตัวแก้ไขหรือ IDE สำหรับ Bazel โปรด
เข้าร่วมช่อง #ide ใน Bazel Slack หรือส่งอีเมล
ไปยังรายชื่ออีเมล bazel-dev
IDE และตัวแก้ไข
IntelliJ, Android Studio และ CLion
ปลั๊กอินอย่างเป็นทางการ สำหรับ IntelliJ, Android Studio และ CLion ปลั๊กอินนี้เป็นแบบ โอเพนซอร์ส
นี่คือปลั๊กอินเวอร์ชันโอเพนซอร์สที่ใช้ภายใน Google
ฟีเจอร์:
- ทำงานร่วมกับปลั๊กอินเฉพาะภาษา ภาษาที่รองรับ ได้แก่ Java, Scala และ Python
- นำเข้าไฟล์
BUILDไปยัง IDE พร้อมการรับรู้ความหมายของเป้าหมาย Bazel - ทำให้ IDE ของคุณรู้จัก Starlark ซึ่งเป็นภาษาที่ใช้สำหรับไฟล์
BUILDและ.bzlของ Bazel - สร้าง ทดสอบ และเรียกใช้ไบนารีโดยตรงจาก IDE
- สร้างการกำหนดค่าสำหรับการแก้ไขข้อบกพร่องและการเรียกใช้ไบนารี
หากต้องการติดตั้ง ให้ไปที่เบราว์เซอร์ปลั๊กอินของ IDE แล้วค้นหา Bazel
หากต้องการติดตั้งเวอร์ชันเก่าด้วยตนเอง ให้ดาวน์โหลดไฟล์ ZIP จากที่เก็บปลั๊กอินของ JetBrains แล้วติดตั้งไฟล์ ZIP จากเบราว์เซอร์ปลั๊กอินของ IDE โดยทำดังนี้
Xcode
Tulsi และ
XCHammer สร้างโปรเจ็กต์ Xcode จาก
ไฟล์ BUILD ของ Bazel
Visual Studio Code
ปลั๊กอินอย่างเป็นทางการสำหรับ VS Code
ฟีเจอร์:
- ต้นไม้เป้าหมายการสร้าง Bazel
- โปรแกรมแก้ไขข้อบกพร่อง Starlark สำหรับไฟล์
.bzlระหว่างการสร้าง (ตั้งค่าเบรกพอยต์ ดูโค้ดทีละบรรทัด ตรวจสอบตัวแปร และอื่นๆ)
ค้นหา ปลั๊กอินใน Visual Studio Marketplace ปลั๊กอินนี้เป็นแบบ โอเพนซอร์ส
ดูเพิ่มเติมที่การเติมข้อความอัตโนมัติสำหรับซอร์สโค้ด
Atom
ค้นหาแพ็กเกจ language-bazel
ในเครื่องมือจัดการแพ็กเกจ Atom
Vim
ดู bazelbuild/vim-bazel ใน GitHub
Emacs
ดู bazelbuild/bazel-emacs-mode ใน
GitHub
Visual Studio
Lavender เป็นโปรเจ็กต์ทดลองสำหรับการ สร้างโปรเจ็กต์ Visual Studio ที่ใช้ Bazel ในการสร้าง
Eclipse
Bazel Eclipse Feature คือชุดปลั๊กอินสำหรับการนำเข้าแพ็กเกจ Bazel ไปยังพื้นที่ทำงาน Eclipse เป็น โปรเจ็กต์ Eclipse
การเติมข้อความอัตโนมัติสำหรับซอร์สโค้ด
ตระกูลภาษา C (C++, C, Objective-C และ Objective-C++)
hedronvision/bazel-compile-commands-extractor ช่วยให้การเติมข้อความอัตโนมัติทำงานได้ในตัวแก้ไขที่ขยายได้หลากหลายประเภท รวมถึง VSCode, Vim, Emacs และ Sublime โดยจะช่วยให้เซิร์ฟเวอร์ภาษา เช่น clangd และ ccls รวมถึงเครื่องมือประเภทอื่นๆ ใช้ประโยชน์จากการทำความเข้าใจของ Bazel เกี่ยวกับวิธีคอมไพล์โค้ด cc และ objc ซึ่งรวมถึงวิธีกำหนดค่าการคอมไพล์ข้ามแพลตฟอร์มสำหรับแพลตฟอร์มอื่นๆ
Java
georgewfraser/java-language-server - เซิร์ฟเวอร์ภาษา Java (LSP) ที่รองรับโปรเจ็กต์ที่สร้างด้วย Bazel
เรียกใช้การสร้างและการทดสอบโดยอัตโนมัติเมื่อมีการเปลี่ยนแปลงไฟล์
Bazel Watcher เป็น เครื่องมือสำหรับการสร้างเป้าหมาย Bazel เมื่อมีการเปลี่ยนแปลงไฟล์ต้นฉบับ
การสร้างปลั๊กอิน IDE ของคุณเอง
อ่านบล็อกโพสต์การรองรับ IDE เพื่อดูข้อมูลเพิ่มเติมเกี่ยวกับ Bazel API ที่จะใช้เมื่อสร้างปลั๊กอิน IDE