Mengintegrasikan Bazel dengan IDE

Laporkan masalah Lihat sumber Per malam · 7,3 · 7,2 · 7,1 · 7,0 · 6,5

Halaman ini membahas cara mengintegrasikan Bazel dengan IDE, seperti IntelliJ, Android Studio, dan CLion (atau membuat plugin IDE Anda sendiri). Laporan ini juga menyertakan tautan ke detail penginstalan dan plugin.

IDE terintegrasi dengan Bazel dalam berbagai cara, mulai dari fitur yang memungkinkan Bazel eksekusi dari dalam IDE, hingga pemahaman tentang struktur Bazel seperti sintaks penandaan file BUILD.

Jika Anda tertarik untuk mengembangkan editor atau plugin IDE untuk Bazel, silakan bergabung dengan channel #ide di Bazel Slack atau mulai diskusi di GitHub.

IDE dan editor

IntelliJ, Android Studio, dan CLion

Plugin resmi untuk IntelliJ, Android Studio, dan CLion. Plugin ini bersifat open source.

Ini adalah versi plugin open source yang digunakan secara internal di Google.

Fitur:

  • Interop dengan plugin khusus bahasa. Bahasa yang didukung antara lain Java, Scala, dan Python.
  • Impor file BUILD ke IDE dengan awareness semantik target Bazel.
  • Buat IDE Anda mengenali Starlark, bahasa yang digunakan untuk BUILD dan Bazel .bzlfile
  • Membuat, menguji, dan menjalankan biner langsung dari IDE
  • Membuat konfigurasi untuk proses debug dan menjalankan biner.

Untuk menginstal, buka browser plugin IDE dan telusuri Bazel.

Untuk menginstal versi lama secara manual, download file ZIP dari JetBrains' Repositori Plugin dan instal file ZIP dari browser plugin IDE:

Xcode

rules_xcodeproj, Tulsi, dan XCHammer menghasilkan Xcode project dari file BUILD Bazel.

Kode Visual Studio

Plugin resmi untuk VS Code.

Fitur:

  • Pohon Target Bazel Build
  • Debugger Starlark untuk file .bzl selama build (menyetel titik henti sementara, langkah kode, memeriksa variabel, dan sebagainya)

Menemukan plugin di Visual Studio marketplace lebih lanjut. Plugin ini bersifat open source.

Lihat juga: Pelengkapan Otomatis untuk Kode Sumber

Atom

Temukan paket language-bazel di pengelola paket Atom.

Lihat juga: Pelengkapan Otomatis untuk Kode Sumber

{i>Vim<i}

Lihat bazelbuild/vim-bazel di GitHub

Lihat juga: Pelengkapan Otomatis untuk Kode Sumber

Emac

Lihat bazelbuild/bazel-emacs-mode di GitHub

Lihat juga: Pelengkapan Otomatis untuk Kode Sumber

Visual Studio

Lavender adalah project eksperimental untuk menghasilkan project Visual Studio yang menggunakan Bazel untuk build.

Eclipse

Fitur Bazel Eclipse adalah seperangkat plugin untuk mengimpor paket Bazel ke ruang kerja Eclipse sebagai project Eclipse.

Pelengkapan Otomatis untuk Kode Sumber

Kelompok Bahasa C (C++, C, Objective-C, dan Objective-C++)

hedronvision/bazel-compile-commands-extractor memungkinkan pelengkapan otomatis, navigasi cerdas, perbaikan cepat, dan lainnya dalam berbagai editor yang dapat diperluas, termasuk VSCode, Vim, Emacs, Atom, dan Sublime. API ini memungkinkan server bahasa, seperti clangd dan ccls, dan jenis alat lainnya, memanfaatkan pemahaman Bazel tentang cara kompilasi kode cc dan objc, termasuk cara kode tersebut mengonfigurasi kompilasi silang untuk platform lain.

Java

georgewfraser/java-language-server - Java Language Server (LSP) dengan dukungan untuk project yang dibuat Bazel

Jalankan build dan pengujian secara otomatis saat perubahan file

Bazel watcher adalah untuk membangun target Bazel saat file sumber berubah.

Membuat plugin IDE Anda sendiri

Baca blog dukungan IDE post untuk mempelajari lebih lanjut Bazel API untuk digunakan saat membangun plugin IDE.