Mengintegrasikan Bazel dengan IDE

Halaman ini membahas cara mengintegrasikan Bazel dengan IDE, seperti IntelliJ, Android Studio, dan CLion (atau mem-build plugin IDE Anda sendiri). Artikel ini juga menyertakan link ke detail penginstalan dan plugin.

IDE terintegrasi dengan Bazel dalam berbagai cara, mulai dari fitur yang memungkinkan eksekusi Bazel dari dalam IDE, hingga awareness terhadap struktur Bazel seperti penyorotan sintaks file BUILD.

Jika Anda tertarik untuk mengembangkan editor atau plugin IDE untuk Bazel, harap bergabung dengan saluran #ide di Bazel Slack atau kirim email ke milis bazel-dev.

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 mencakup Java, Scala, dan Python.
  • Impor file BUILD ke IDE dengan kesadaran semantik target Bazel.
  • Buat IDE Anda mengetahui Starlark, bahasa yang digunakan untuk file BUILD dan .bzl Bazel
  • 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 yang lebih lama secara manual, download file zip dari Repositori Plugin JetBrains dan instal file zip dari browser plugin IDE:

Xcode

Tulsi dan XCHammer menghasilkan project Xcode dari file BUILD Bazel.

Kode Visual Studio

Plugin resmi untuk VS Code.

Fitur:

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

Temukan plugin di marketplace Visual Studio. Plugin ini bersifat open source.

Lihat juga: Pelengkapan Otomatis untuk Kode Sumber

Atom

Temukan paket language-bazel di pengelola paket Atom.

Vim

Lihat bazelbuild/vim-bazel di GitHub

Emac

Lihat bazelbuild/bazel-emacs-mode di GitHub

Visual Studio

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

Eclipse

Bazel Eclipse Feature adalah kumpulan 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 mengaktifkan pelengkapan otomatis di berbagai editor yang dapat diperluas, termasuk VSCode, Vim, Emacs, dan Sublime. Hal ini memungkinkan server bahasa, seperti clangd dan ccls, serta jenis alat lainnya, memanfaatkan pemahaman Bazel tentang bagaimana kode cc dan objc akan dikompilasi, termasuk cara 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 uji secara otomatis pada perubahan file

Bazel watcher adalah alat untuk membuat target Bazel saat file sumber berubah.

Mem-build plugin IDE Anda sendiri

Baca postingan blog dukungan IDE untuk mempelajari lebih lanjut Bazel API yang akan digunakan saat mem-build plugin IDE.