Integrating Bazel with IDEs

IDEs integrate with Bazel in a variety of ways, from features that allow Bazel executions from within the IDE, to awareness of Bazel structures such as syntax highlighting of the BUILD files.

Supported IDEs and editors

IntelliJ, Android Studio and CLion

Status: Beta, supported by the Bazel team.

Plug-ins for Android Studio, CLion, and IntelliJ enable you to:

  • Import BUILD files into the IDE
  • Make your IDE aware of Starlark, the language used for Bazel’s BUILD and bzl files
  • Build, test, and execute binaries directly from the IDE

Installation:

Xcode

Status: Beta, supported by the Bazel team.

Tulsi generates Bazel-compatible Xcode projects from Bazel’s BUILD files.

Eclipse

Status: experimental, not officially supported by the Bazel team.

See installation steps on GitHub

Visual Studio Code

Status: Officially supported by the Bazel team.

Features:

  • Bazel Build Targets tree
  • Starlark debugger for .bzl files during a build (set breakpoints, step through code, inspect variables, etc.)

See vscode-bazel in Visual Studio marketplace

There is also an unofficial plugin that provides syntax highlighting and formatting for Bazel BUILD and WORKSPACE files: bazel-code

Atom

Status: not officially supported by the Bazel team.

See language-bazel package

Vim

Status: Beta, not officially supported by the Bazel team.

See bazelbuild/vim-bazelon GitHub

Automatically run build and test on file change

Bazel watcher is a tool for building Bazel targets when source files change.

Building your own IDE plugin

Read the IDE support blog post to learn more about the Bazel APIs to use when building an IDE plugin.