Bazel と IDE の統合

問題を報告する ソースを表示

このページでは、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_xcodeprojTulsiXCHammer は 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 などの言語ツールやその他のツールが、他のプラットフォームのクロスコンパイルをどのように構成するかなど、ccobjc のコードのコンパイル方法に関する Bazel の認識を活用できるようになります。

Java

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

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

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

独自の IDE プラグインの構築

IDE プラグインのビルド時に使用する Bazel API の詳細については、IDE サポートのブログ投稿をご覧ください。