การผสานรวม 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 จาก 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