Bazel in IDEs einbinden

Auf dieser Seite wird beschrieben, wie Sie Bazel in IDEs wie IntelliJ, Android Studio und CLion einbinden oder ein eigenes IDE-Plug-in erstellen. Darüber hinaus sind Links zu Installations- und Plug-in-Details enthalten.

IDEs lassen sich auf verschiedenste Weise in Bazel einbinden, angefangen von Funktionen, mit denen Bazel-Ausführungen innerhalb der IDE möglich sind, bis hin zur Bekanntheit von Bazel-Strukturen, z. B. durch Syntaxhervorhebung der BUILD-Dateien.

Wenn Sie einen Editor oder ein IDE-Plug-in für Bazel entwickeln möchten, treten Sie dem Kanal #ide in Bazel Slack bei oder senden Sie eine E-Mail an den bazel-dev.

IDEs und Bearbeiter

IntelliJ, Android Studio und CLion

Offizielles Plug-in für IntelliJ, Android Studio und Clion. Das Plug-in ist Open Source.

Dies ist die Open-Source-Version des Plug-ins, das intern bei Google verwendet wird.

Features:

  • Mit sprachspezifischen Plug-ins interagieren. Unterstützte Sprachen sind Java, Scala und Python.
  • Importieren Sie BUILD-Dateien mit semantischem Verständnis von Bazel-Zielen in die IDE.
  • Machen Sie Ihre IDE über Starlark bekannt, die Sprache, die für die BUILD- und .bzl-Dateien von Bazel verwendet wird.
  • Binärdateien direkt in der IDE erstellen, testen und ausführen
  • Erstellen Sie Konfigurationen zum Debuggen und Ausführen von Binärdateien.

Rufen Sie zum Installieren das IDE-Plug-in auf und suchen Sie nach Bazel.

Wenn Sie ältere Versionen manuell installieren möchten, laden Sie die ZIP-Dateien aus dem Plug-in von JetBrains herunter und installieren Sie sie mit dem Plug-in-Browser der IDE:

Xcode

Tulsi und XCHammer generieren Xcode-Projekte aus HBase-BUILD-Dateien.

Visual Studio-Code

Offizielles Plug-in für VS Code.

Features:

  • Strukturbaum von Bazel Build
  • Starlark-Debugger für .bzl-Dateien während eines Build-Vorgangs (Festlegen von Haltepunkten, Schritt-für-Schritt-Code, Prüfen von Variablen usw.)

Suchen Sie nach dem Plug-in auf dem Visual Studio-Marktplatz. Das Plug-in ist Open Source.

Siehe auch: Automatische Vervollständigung von Quellcode

Atom

Suchen Sie im Atom-Paketmanager nach dem Paket language-bazel.

Vim

Siehe bazelbuild/vim-bazel auf GitHub.

Emacs

Siehe bazelbuild/bazel-emacs-mode auf GitHub.

Visual Studio

Lavender ist ein experimentelles Projekt zum Generieren von Visual Studio-Projekten, die Bazel zum Erstellen verwenden.

Eclipse

Die Bazel Eclipse-Funktion besteht aus einer Reihe von Plug-ins für den Import von Bazel-Paketen in einen Eclipse-Arbeitsbereich als Eclipse-Projekte.

Automatische Vervollständigung für Quellcode

C-Sprachfamilie (C++, C, Objective-C und Objective-C++)

hedronvision/bazel-compile-commands-extractor ermöglicht die automatische Vervollständigung in einer Vielzahl von Editoren. Sprachserver wie clangd und andere Tools nutzen das Wissen von Bazel, wie der Code cc und objc kompiliert werden und wie die Cross-Kompilierung für andere Plattformen konfiguriert wird.

Build und Test automatisch bei Dateiänderung ausführen

Bazel Watcher ist ein Tool zum Erstellen von Bazel-Zielen, wenn sich Quelldateien ändern.

Eigenes IDE-Plug-in erstellen

Weitere Informationen zu den Bazel APIs, die Sie beim Erstellen eines IDE-Plug-ins verwenden können, finden Sie im Blogpost zum IDE-Support.