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

รายงานปัญหา ดูแหล่งที่มา รุ่นรายวัน · 8.0 · 7.4 · 7.3 · 7.2 · 7.1 · 7.0 · 6.5

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

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

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

Xcode

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

Visual Studio Code

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

ฟีเจอร์:

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

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

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

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

Java

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

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

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

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

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