An IntelliJ plugin for Bazel projects
This is an early-access version of our Bazel plugins for IntelliJ, Android Studio, and CLion.
This repository is generally in a state matching the most recently uploaded plugins in the JetBrains' plugin repository. See the releases tab for more information.
Support
See the support matrix on the various plugin support levels across JetBrains products, languages, and operating systems.
Installation
You can find our plugin in the Jetbrains plugin repository by going to
Settings -> Browse Repositories, and searching for Bazel.
Usage
To import an existing Bazel project, choose Import Bazel Project,
and follow the instructions in the project import wizard.
Detailed docs are available here.
Building the plugin
Install Bazel, then build the target *:*_bazel_zip for your desired product:
bazel build //ijwb:ijwb_bazel_zip --define=ij_product=intellij-ue-latestbazel build //clwb:clwb_bazel_zip --define=ij_product=clion-latestbazel build //aswb:aswb_bazel_zip --define=ij_product=android-studio-latest
from the project root. This will create a plugin zip file at
bazel-bin/<PRODUCT>/<PRODUCT>_bazel.zip, which can be installed directly
from the IDE. <PRODUCT> can be one of ijwb, clwb, aswb.
If the IDE refuses to load the plugin because of version issues, specify the
correct ij_product. These are in the form <IDE>-<VERSION> with
<IDE>being one ofintellij-ue, intellij, clion, android-studio,<VERSION>being one oflatest, beta, canary.
Note that there is a difference between intellij and intellij-ue.
ue stands for IntelliJ Ultimate Edition and contains additional
features for JavaScript as well as Go.
If you are using the most recent version of your IDE, you likely want
--define=ij_product=<IDE>-beta which will be the next version after
<IDE>-latest. Additionally, canary can be a largely untested alpha
build of an upcoming version. A complete mapping of all currently defined
versions can be found in intellij_platform_sdk/build_defs.bzl.
You can import the project into IntelliJ (with the Bazel plugin)
via importing the ijwb/ijwb.bazelproject file.
Contributions
We may be able to accept contributions in some circumstances. Some caveats:
- Before opening a pull request, first file an issue and discuss potential changes with the devs. This will often save you time you would otherwise have invested in a patch which can't be applied.
- We can't accept sylistic, refactoring, or "cleanup" changes.
- We have very limited bandwidth, and applying patches upstream is a time-consuming process. Large patches generally can't be accepted unless there's clear value for all our users.

Formed in 2009, the Archive Team (not to be confused with the archive.org Archive-It Team) is a rogue archivist collective dedicated to saving copies of rapidly dying or deleted websites for the sake of history and digital heritage. The group is 100% composed of volunteers and interested parties, and has expanded into a large amount of related projects for saving online and digital history.
