การผสานรวม 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 Feature คือชุดปลั๊กอินสำหรับการนำเข้าแพ็กเกจ 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