หน้านี้อธิบายวิธีผสานรวม 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 โดยที่ IDE รับรู้ความหมายของเป้าหมาย Bazel - แจ้งให้ IDE ทราบเกี่ยวกับ Starlark ซึ่งเป็นภาษาที่ใช้สำหรับไฟล์
BUILD
และ.bzl
ของ Bazel - สร้าง ทดสอบ และเรียกใช้ไบนารีโดยตรงจาก IDE
- สร้างการกำหนดค่าสำหรับการแก้ไขข้อบกพร่องและเรียกใช้ไบนารี
หากต้องการติดตั้ง ให้ไปที่เบราว์เซอร์ปลั๊กอินของ IDE แล้วค้นหา Bazel
หากต้องการติดตั้งเวอร์ชันเก่าด้วยตนเอง ให้ดาวน์โหลดไฟล์ ZIP จากที่เก็บพูลินของ JetBrains และติดตั้งไฟล์ ZIP จากเบราว์เซอร์ปลั๊กอินของ IDE โดยทำดังนี้
Xcode
Tulsi และ XCHammer จะสร้างโปรเจ็กต์ Xcode จากไฟล์ Bazel BUILD
Visual Studio Code
ปลั๊กอินอย่างเป็นทางการสำหรับ VS Code
ฟีเจอร์:
- แผนผังเป้าหมายการสร้าง Bazel
- โปรแกรมแก้ไขข้อบกพร่อง Starlark สําหรับไฟล์
.bzl
ระหว่างการบิลด์ (ตั้งจุดหยุดพัก เรียกใช้โค้ดทีละขั้นตอน ตรวจสอบตัวแปร และอื่นๆ)
ค้นหาปลั๊กอินใน Marketplace ของ Visual Studio ปลั๊กอินเป็นแบบโอเพนซอร์ส
ดูข้อมูลเพิ่มเติมได้ที่การเติมข้อความอัตโนมัติสำหรับซอร์สโค้ด
Atom
ค้นหาแพ็กเกจ language-bazel
ในเครื่องมือจัดการแพ็กเกจ Atom
Vim
ดู bazelbuild/vim-bazel
ใน GitHub
Emacs
ดู bazelbuild/bazel-emacs-mode
ใน GitHub
Visual Studio
Lavender เป็นโปรเจ็กต์ทดลองสำหรับการสร้างโปรเจ็กต์ Visual Studio ที่ใช้ Bazel ในการสร้าง
คราส
ฟีเจอร์ Bazel Eclipse คือชุดปลั๊กอินสำหรับการนําเข้าแพ็กเกจ 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 Language Server (LSP) ที่รองรับโปรเจ็กต์ที่สร้างด้วย Bazel
เรียกใช้การสร้างและทดสอบโดยอัตโนมัติเมื่อมีการเปลี่ยนแปลงไฟล์
เครื่องมือตรวจสอบ Bazel เป็นเครื่องมือสำหรับสร้างเป้าหมาย Bazel เมื่อไฟล์ต้นฉบับมีการเปลี่ยนแปลง
การสร้างปลั๊กอิน IDE ของคุณเอง
อ่านบล็อกโพสต์การรองรับ IDE เพื่อดูข้อมูลเพิ่มเติมเกี่ยวกับ Bazel API ที่จะใช้ในการสร้างปลั๊กอิน IDE