このページでは、Bazel を IntelliJ、Android Studio、CLion などの IDE と統合する方法(または独自の IDE プラグインをビルドする方法)について説明します。インストールとプラグインの詳細へのリンクも含まれています。
IDE は、IDE 内から Bazel 実行を可能にする機能から、BUILD
ファイルの構文ハイライト表示などの Bazel 構造の認識まで、さまざまな方法で Bazel と統合されています。
Bazel 用のエディタまたは IDE プラグインの開発に関心をお持ちの場合は、Bazel Slack の #ide
チャンネルに参加するか、GitHub でディスカッションを開始してください。
IDE とエディタ
IntelliJ、Android Studio、CLion
IntelliJ、Android Studio、CLion 用の公式プラグイン。このプラグインはオープンソースです。
これは、Google 社内で使用されているプラグインのオープンソース バージョンです。
機能:
- 言語固有のプラグインとの相互運用。サポートされている言語は、Java、Scala、Python です。
- Bazel ターゲットのセマンティクスを認識して、
BUILD
ファイルを IDE にインポートします。 - Bazel の
BUILD
ファイルと.bzl
ファイルで使用される言語である Starlark を IDE で認識できるようにする - IDE から直接バイナリをビルド、テスト、実行する
- バイナリのデバッグと実行用の構成を作成します。
インストールするには、IDE のプラグイン ブラウザに移動して Bazel
を検索します。
古いバージョンを手動でインストールするには、JetBrains のプラグイン リポジトリから zip ファイルをダウンロードし、IDE のプラグイン ブラウザから zip ファイルをインストールします。
Xcode
rules_xcodeproj、Tulsi、XCHammer は、Bazel BUILD
ファイルから Xcode プロジェクトを生成します。
Visual Studio Code
VS Code の公式プラグイン。
機能:
- Bazel ビルド ターゲット ツリー
- ビルド中の
.bzl
ファイルの Starlark デバッガ(ブレークポイントの設定、コードのステップスルー、変数の検査など)
Visual Studio Marketplace でプラグインを見つけます。このプラグインはオープンソースです。
関連情報: ソースコードの自動補完
Atom
Atom パッケージ マネージャーで language-bazel
パッケージを見つけます。
関連情報: ソースコードの自動補完
Vim
GitHub の bazelbuild/vim-bazel
をご覧ください。
関連情報: ソースコードの自動補完
Emacs
GitHub の bazelbuild/bazel-emacs-mode
をご覧ください。
関連情報: ソースコードの自動補完
Visual Studio
Lavender は、ビルドに Bazel を使用する Visual Studio プロジェクトを生成するための試験運用版のプロジェクトです。
Eclipse
Bazel Eclipse Feature は、Bazel パッケージを Eclipse プロジェクトとして Eclipse ワークスペースにインポートするためのプラグインのセットです。
ソースコードのオートコンプリート
C 言語ファミリー(C++、C、Objective-C、Objective-C++)
hedronvision/bazel-compile-commands-extractor
を使用すると、VSCode、Vim、Emacs、Atom、Sublime などのさまざまな拡張可能なエディタで、自動補完、スマート ナビゲーション、クイック フィックスなどを使用できます。これにより、clangd や ccls などの言語サーバーや他の種類のツールが、cc
コードと objc
コードのコンパイル方法(他のプラットフォームのクロス コンパイルの構成方法など)に関する Bazel の理解を活用できるようになります。
Java
georgewfraser/java-language-server
- Bazel でビルドされたプロジェクトをサポートする Java 言語サーバー(LSP)
ファイル変更時にビルドとテストを自動的に実行する
Bazel ウォッチャーは、ソースファイルが変更されたときに Bazel ターゲットをビルドするツールです。
独自の IDE プラグインの構築
IDE プラグインのビルド時に使用する Bazel API の詳細については、IDE サポートのブログ投稿をご覧ください。