Bazel と IDE の統合

<ph type="x-smartling-placeholder"></ph> 問題を報告する ソースを表示 夜間 · 7.3 · 7.2 · 7.1 · 7.0 · 6.5

このページでは、Bazel を IntelliJ、Android、Android などの IDE と統合する方法について説明します。 (または独自の IDE プラグインを構築することもできます)。また、 インストールとプラグインの詳細が表示されます。

IDE はさまざまな方法で Bazel と統合できます。たとえば、Bazel による統合が可能です。 Bazel 構造(構文など)の認識まで、IDE 内からの実行に関する BUILD ファイルがハイライト表示されています。

Bazel 用のエディタや IDE プラグインの開発に興味がある場合は、 Bazel Slack またはメールで #ide チャンネルに参加してください bazel-dev メーリング リストをご覧ください。

IDE とエディタ

IntelliJ、Android Studio、CLion

公式プラグイン: IntelliJ、Android Studio、 CLion。このプラグインはオープンソースです。

これは Google 社内で使用されているプラグインのオープンソース版です。

機能:

  • 言語固有のプラグインとの相互運用が可能です。サポートされている言語には、Java、 サポートしています
  • Bazel ターゲットのセマンティック認識を使用して、BUILD ファイルを IDE にインポートします。
  • IDE で Starlark(Bazel の BUILD.bzl 個のファイル
  • IDE から直接バイナリをビルド、テスト、実行
  • バイナリのデバッグと実行用の構成を作成します。

インストールするには、IDE のプラグイン ブラウザに移動して、Bazel を検索します。

古いバージョンを手動でインストールするには、JetBrains の プラグイン リポジトリに移動して、IDE のプラグイン ブラウザから zip ファイルをインストールします。

Xcode

TulsiXCHammer は、以下から Xcode プロジェクトを生成します。 Bazel BUILD ファイル。

Visual Studio Code

VS Code の公式プラグイン。

機能:

  • Bazel ビルド ターゲット ツリー
  • ビルド中の .bzl ファイル用の Starlark デバッガ(ブレークポイントの設定、 変数の検査など)

Visual Studio でプラグインを見つける マーケットプレイスをご覧ください。 このプラグインはオープンソースです。

関連情報: ソースコードの予測入力

Atom

language-bazel パッケージを見つけます。 これは Atom パッケージ管理システムにあります。

Vim

GitHub の bazelbuild/vim-bazel をご覧ください。

Emacs

bazelbuild/bazel-emacs-mode GitHub

Visual Studio

Lavender は、Google 搭載の ビルドに Bazel を使用する Visual Studio プロジェクトの生成

Eclipse

Bazel Eclipse 機能 Bazel パッケージを Eclipse ワークスペースにインポートするためのプラグインのセットです。 Eclipse プロジェクト。

ソースコードの予測入力

C 言語ファミリー(C++、C、Objective-C、Objective-C++)

hedronvision/bazel-compile-commands-extractor を使用すると、VSCode、Vim、Emacs、Sublime などの拡張可能なさまざまなエディタで予測入力が有効になります。これにより、clangd や ccls などの言語サーバーは、cc コードと objc コードのコンパイル方法(他のプラットフォームに対するクロスコンパイルの構成方法を含む)について Bazel の知識を活用できるようになります。

Java

georgewfraser/java-language-server - Bazel でビルドされたプロジェクトをサポートする Java Language Server(LSP)

ファイルの変更時に自動的にビルドとテストを実行する

Bazel ウォッチャーは、 ソースファイルが変更されたときに Bazel ターゲットをビルドするためのツール。

独自の IDE プラグインを作成する

IDE サポートのブログを読む 投稿をご覧ください。 IDE プラグインを構築する際に使用する Bazel API です。