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