JetBrains logo

Bazel for IntelliJ IDEA

by JetBrains

The Bazel team at JetBrains is working hard on delivering a new experience to working with Bazel in IntelliJ IDEA.

Beware: Basically Beta! Only intended for early feedback to development team!

Thank you for your interest in trying our new approach to supporting Bazel in IntelliJ IDEA!

This is a preview release, so don't expect it to work in production or cover the entire set of features you require.

Currently updated for IntelliJ IDEA 2024.1 only

Preview features

Just enough to let you test the basic workflows

Find a detailed description of features on the Features Overview document.

Build and run

Build the whole project or individual targets with the build button. Run tests and apps through Bazel, view test output in the IDE.

Language support

Currently Java, Kotlin, Scala and Python are supported. More coming soon!

Shared sources

Targets with shared sources are detected automatically. Switch between them on the fly.

Target management

Browse Bazel targets in a tree and filter them by name. Build, run, and test targets through the context menu.

Install plugin

To install the preview release, you'll need to add the nightly channel of the plugin to your IntelliJ marketplace configuration.

To get the latest releases, make sure you are using the 2024.1 release of IntelliJ.

Click Gear Icon, choose "Manage Plugin Repositories"

Click + symbol and add these URLs:

https://plugins.jetbrains.com/plugins/nightly/20329

https://plugins.jetbrains.com/plugins/nightly/22977

Go to Marketplace tab

Look for "Build Server Protocol" and click Install.

Then look for "Bazel by JetBrains (experimental)" and click Install.

Restart IntelliJ IDEA. You're ready!

Caveat emptor!

This is a preview release for a reason

This plugin may be useful to you, but is not ready for many production use cases. Please report any problems to our YouTrack issue tracker.

Incompatible!

There may be incompatibilities with the Bazel plugin by Google. To avoid them, disable it.

Unpolished!

Parts of the UX haven't been fully considered or implemented yet.

Untested!

It may break on some non-trivial and larger projects.