การผสานรวม Bazel กับ IDE

หน้านี้จะอธิบายวิธีผสานรวม 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 ปลั๊กอินนี้เป็นโอเพนซอร์ส

ดูเพิ่มเติมที่การเติมข้อความอัตโนมัติสำหรับซอร์สโค้ด

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, Atom และ Sublime ซึ่งช่วยให้เซิร์ฟเวอร์ภาษา เช่น clangd และ ccls รวมถึงเครื่องมือประเภทอื่นๆ สามารถใช้ความเข้าใจของ Bazel เกี่ยวกับวิธีคอมไพล์โค้ด cc และ objc รวมถึงวิธีกำหนดค่าการคอมไพล์ข้ามแพลตฟอร์มสำหรับแพลตฟอร์มอื่นๆ

Java

georgewfraser/java-language-server - เซิร์ฟเวอร์ภาษา Java (LSP) ที่รองรับโปรเจ็กต์ที่สร้างด้วย Bazel

เรียกใช้การสร้างและการทดสอบโดยอัตโนมัติเมื่อมีการเปลี่ยนแปลงไฟล์

Bazel Watcher เป็นเครื่องมือสำหรับสร้างเป้าหมาย Bazel เมื่อไฟล์ต้นฉบับมีการเปลี่ยนแปลง

การสร้างปลั๊กอิน IDE ของคุณเอง

อ่านบล็อกโพสต์การสนับสนุน IDE เพื่อดูข้อมูลเพิ่มเติมเกี่ยวกับ Bazel API ที่จะใช้เมื่อสร้างปลั๊กอิน IDE