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

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

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

หากต้องการติดตั้งเวอร์ชันเก่าด้วยตนเอง ให้ดาวน์โหลดไฟล์ ZIP จาก 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

ฟีเจอร์บาเซล Eclipse เป็นชุดปลั๊กอินสำหรับการนำเข้าแพ็กเกจ Bazel ไปยังพื้นที่ทำงาน 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 คือ สำหรับการสร้างเป้าหมาย Bazel เมื่อไฟล์ต้นฉบับเปลี่ยนแปลง

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

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