Mengintegrasikan Bazel dengan IDE

Halaman ini membahas cara mengintegrasikan Bazel dengan IDE, seperti IntelliJ, Android Studio, dan CLion (atau membuat plugin IDE Anda sendiri). Halaman 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 pemahaman tentang struktur Bazel seperti penyorotan sintaksis file BUILD.

Jika Anda tertarik untuk mengembangkan plugin editor atau IDE untuk Bazel, gabung ke saluran #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 plugin versi open source yang digunakan secara internal di Google.

Fitur:

  • Interop dengan plugin khusus bahasa. Bahasa yang didukung meliputi Java, Scala, dan Python.
  • Impor file BUILD ke IDE dengan pemahaman semantik tentang target Bazel.
  • Membuat IDE Anda mengetahui Starlark, bahasa yang digunakan untuk file BUILD dan .bzl Bazel
  • Membuat, menguji, dan menjalankan biner langsung dari IDE
  • Buat 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 Plugin Repository JetBrains dan instal file zip dari browser plugin IDE:

Xcode

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

Visual Studio Code

Plugin resmi untuk VS Code.

Fitur:

  • Pohon Target Build Bazel
  • Debugger Starlark untuk file .bzl selama build (tetapkan titik henti sementara, jalankan kode, periksa 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.

Lihat juga: Pelengkapan Otomatis untuk Kode Sumber

Vim

Lihat bazelbuild/vim-bazel di GitHub

Lihat juga: Pelengkapan Otomatis untuk Kode Sumber

Emacs

Lihat bazelbuild/bazel-emacs-mode di GitHub

Lihat juga: Pelengkapan Otomatis untuk Kode Sumber

Visual Studio

Lavender adalah project eksperimental untuk membuat project Visual Studio yang menggunakan Bazel untuk membangun.

Eclipse

Bazel Eclipse Feature adalah sekumpulan plugin untuk mengimpor paket Bazel ke ruang kerja Eclipse sebagai project Eclipse.

Pelengkapan Otomatis untuk Kode Sumber

Rangkaian 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 di-extend, termasuk VSCode, Vim, Emacs, Atom, dan Sublime. Dengan demikian, server bahasa, seperti clangd dan ccls, serta jenis alat lainnya, dapat memanfaatkan pemahaman Bazel tentang cara mengompilasi kode cc dan objc, termasuk cara mengonfigurasi kompilasi silang untuk platform lain.

Java

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

Menjalankan build dan pengujian secara otomatis saat file berubah

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

Membangun plugin IDE Anda sendiri

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