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

รายงานปัญหา ดูแหล่งที่มา

หน้านี้จะกล่าวถึงวิธีผสานรวม 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 ด้วยการรับรู้ความหมายของเป้าหมาย Bazel
  • แจ้งให้ IDE ทราบเกี่ยวกับ Starlark ซึ่งเป็นภาษาที่ใช้สำหรับไฟล์ BUILD และ.bzlของ Bazel
  • สร้าง ทดสอบ และดำเนินการไบนารีจาก IDE โดยตรง
  • สร้างการกำหนดค่าสำหรับการแก้ไขข้อบกพร่องและเรียกใช้ไบนารี

หากต้องการติดตั้ง ให้ไปที่เบราว์เซอร์ปลั๊กอินของ IDE และค้นหา Bazel

หากต้องการติดตั้งเวอร์ชันเก่าด้วยตนเอง ให้ดาวน์โหลดไฟล์ ZIP จาก Plugin Repository ของ JetBrains และติดตั้งไฟล์ ZIP จากเบราว์เซอร์ปลั๊กอินของ IDE

Xcode

Tulsi และ XCHammer สร้างโปรเจ็กต์ Xcode จากไฟล์ Bazel BUILD

โค้ด Visual Studio

ปลั๊กอินอย่างเป็นทางการสำหรับ VS Code

ฟีเจอร์:

  • แผนผังเป้าหมายการสร้าง Bazel
  • โปรแกรมแก้ไขข้อบกพร่อง Starlark สำหรับไฟล์ .bzl ระหว่างบิลด์ (ตั้งค่าเบรกพอยท์ ขั้นตอน ผ่านโค้ด, ตรวจสอบตัวแปร และอื่นๆ)

ค้นหาปลั๊กอินในมาร์เก็ตเพลสของ Visual Studio ปลั๊กอินเป็นแบบโอเพนซอร์ส

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

Atom

ค้นหาแพ็กเกจ language-bazel ในตัวจัดการแพ็กเกจ Atom

วิม

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

Java

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

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

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

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

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