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