Bazel と IDE の統合

問題を報告 ソースを表示

このページでは、Bazel を IntelliJ、Android Studio、CLion などの IDE と統合する(または独自の IDE プラグインを作成する)方法について説明します。また、インストールとプラグインの詳細へのリンクも含まれています。

IDE から Bazel と統合するには、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 にインポートします。
  • IDE が Starlark(Bazel の BUILD ファイルと .bzl ファイルに使用される言語)を認識できるようにします。
  • IDE から直接バイナリをビルド、テスト、実行
  • バイナリをデバッグして実行するための構成を作成します。

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

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

Xcode

rules_xcodeprojTulsiXCHammer は、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 プロジェクトを生成するための試験運用版のプロジェクトです。

エクリプス

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

ソースコードのオートコンプリート

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

hedronvision/bazel-compile-commands-extractor を使用すると、VSCode、Vim、Emacs、Atom、Sublime などのさまざまな拡張可能なエディタで、オートコンプリート、スマート ナビゲーション、クイック フィックスなどの機能を使用できます。これにより、clangd や ccls などの言語サーバーやその他の種類のツールは、ccobjc のコードのコンパイル方法(他のプラットフォームのクロスコンパイルの構成方法を含む)に関する Bazel の理解を活用できます。

Java

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

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

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

独自の IDE プラグインの作成

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