ForkSnowflake (Arctic)Snowflake (Arctic)published Aug 7, 2023seen 5d

Snowflake-Labs/intellij

forked from bazelbuild/intellij

Open original ↗

Captured source

source ↗
published Aug 7, 2023seen 5dcaptured 11hhttp 200method plain

Snowflake-Labs/intellij

Description: IntelliJ plugin for Bazel projects

Language: Java

License: Apache-2.0

Stars: 0

Forks: 1

Open issues: 0

Created: 2023-08-07T17:33:39Z

Pushed: 2026-03-11T20:03:41Z

Default branch: master

Fork: yes

Parent repository: bazelbuild/intellij

Archived: no

README:

A CLion plugin for Bazel projects

As of July 1, 2025, the Bazel for IntelliJ and Bazel for CLion plugins are maintained by JetBrains. These plugins are not offered by nor affiliated with Google. The Bazel trademark and logo are the property of Google LLC.

This project uses binary bundles licensed under JetBrains User Agreement.

The Bazel for CLion plugin is uploaded to the JetBrains Marketplace regularly from the state of this repository. See the releases tab for more information.

Community

The Bazel project is hosting a Special Interest Group (SIG) for Bazel IntelliJ IDE plug-in. Details about the SIG and how to join the discussion can be found in the SIG charter.

Support

See the documentation entry on the plugin support across JetBrains products, languages, and operating systems.

Source Code Locations

The Bazel for CLion plugin is built and released from the master branch of this repository.

The Bazel for IntelliJ plugin is built and released from the ijwb branch of this repository. However, maintenance for the IntelliJ plugin is limited to ensuring compatibility with new versions of JetBrains IDEs. No new features or bug fixes will be provided.

The Bazel for Android Studio plugin is built and released from AOSP. The google branch is now deprecated. The last snapshot of the Android Studio plugin that was hosted in this repository can be found on the aswb branch.

Although the code in this repository and in AOSP share the same structure and core components, they have diverged from each other.

  • Changes for the CLion plugin are *only* merged into the master branch of this repository. Users can request

that certain fixes which are also needed for the Android Studio plugin get merged into the AOSP project. This will require the internal teams’ approval.

  • Changes made by the internal Google teams are automatically exported to AOSP. These commits were regularly

cherry-picked to the master branch. See the next paragraph for details.

  • The Android Studio plugin was removed from the master branch and is now only available in the AOSP.

Cherry-picks from AOSP to this project

After the migration of the Android Studio plugin to AOSP, this process was interrupted for approximately five months.

In November 2024, many changes from AOSP were cherry-picked in 6965. Starting from that point, we have been making our best effort to apply AOSP changes to the master branch.

For this purpose, we use the Python tool LeFrosch/intellij-aosp-merge, which is capable of adjusting paths from AOSP to this project's layout and allows us to compare revisions in AOSP and here.

Status of picked and skipped commits could be found in the following googledoc.

Due to multiple regressions caused by picks from the AOSP, cherry-picks have been halted for the time being.

Installation

You can find our plugin in the JetBrains Marketplace or directly from the IDE by going to Settings -> Plugins -> Marketplace, and searching for Bazel.

Usage

We recommend watching this video to familiarize yourself with the plugin's features.

To import an existing Bazel project, choose Import Bazel Project, and follow the instructions in the project import wizard.

Detailed docs are available here.

Known issues

Python debugging

Please read this comment https://github.com/bazelbuild/intellij/issues/4745#issue-1668398619

Remote Development

To properly set up Remote Development (https://www.jetbrains.com/remote-development/), follow these steps: 1. Create an empty project on the remote machine (this can be just an empty directory). 2. Import the project using Remote Development. 3. Install the Bazel Plugin on the host machine. 4. Close the project. 5. Open the initially intended project.

Building the plugin

Install Bazel, then build the target //clwb:clwb_bazel_zip:

bazel build //clwb:clwb_bazel_zip --define=ij_product=clion-oss-latest-stable

from the project root. This will create a plugin zip file at bazel-bin/clwb/clwb_bazel.zip, which can be installed directly from the IDE.

If the IDE refuses to load the plugin because of version issues, specify the correct ij_product. These are in the form clion-oss- with `` being one of

  • oldest-stable
  • latest-stable
  • under-dev.

Alternatively, for you can set ij_product to direct CLion versions, for example clion-2025.2.

-oss-oldest-stable and -oss-latest-stable are aliases for the two IDE versions that the plugin is officially compatible with at a given time. -oss-latest-stable usually maps to the last released IDE version while -oss-oldest-stable maps to the one right before that, e.g. -oss-oldest-stable=2022.1 and -oss-latest-stable=2022.2. Additionally, -oss-under-dev represents the upcoming version of the IDE that we are working towards supporting. 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.

Compatibility with IDE Versions

You can build the plugin for…

Excerpt shown — open the source for the full document.