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

รายงานปัญหา ดูแหล่งที่มา รุ่น Nightly · 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 หรือเริ่มการสนทนาใน GitHub

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

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

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++)

kiron1/bazel-compile-commands เรียกใช้ bazel-compile-commands //... ในเวิร์กスペース Bazel เพื่อสร้างไฟล์ compile_commands.json ไฟล์ compile_commands.json ช่วยให้เครื่องมือต่างๆ เช่น clang-tidy, clangd (LSP) และ IDE อื่นๆ ให้บริการการเติมข้อความอัตโนมัติ การนำทางอัจฉริยะ การแก้ไขด่วน และอื่นๆ เครื่องมือนี้เขียนด้วย C++ และจะใช้เอาต์พุต Protobuf ของ Bazel เพื่อดึงคำสั่งคอมไพล์

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 เป็นเครื่องมือสำหรับสร้างเป้าหมาย Bazel เมื่อไฟล์ต้นฉบับมีการเปลี่ยนแปลง

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

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