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