This guide provides instructions for setting up and developing our Bazel plugin for JetBrains IDEA.
Follow these steps to get your development environment ready.
- IntelliJ IDEA 2024.3 Nightly or later Release, Release Candidate or EAP version.
- Install the latest plugins as described on our landing page.
Note: Our debug/developer run configurations currently require both plugins to be installed. - Plugin DevKit
git clone [email protected]:JetBrains/hirschgarten.git
- Open the cloned
hirschgarten
repo in IDEA and wait for it to import. - Open "File->Project Structure". This opens the Project Structure dialog.
Click "SDKs". - Hit the "+" button.
Click "Download JDK".
Install JetBrains Runtime (JCEF) version 21.
If JetBrains Runtime (JCEF) version 21 is not available, version 17 will also work.
- Hit the "+" button.
Click "Add IntelliJ Platform Plugin SDK from disk".
A file exporer with the 'Contents' folder will open.
Click "Open" in this window.
- A "Select Internal Java Platform" dialog will open.
Selectjbrsdk_jcef-21
(orjbrsdk_jcef-17
if you didn't have version 21 in step 4) in the dropdown list and click "OK".
Then click "OK" again.
- In the target view, expand the
plugin-bazel
subtree.
Right-clickplugin-bazel-with-server-debug
and clickRun
.
Note: if you are interested in Bazel BSP connection flow, please useplugin-bazel/plugin-bazel-debug
instead, asplugin-bazel/plugin-bazel-with-server-debug
will bypass the normal BSP connection flow. If you are only interested in BSP plugin, please useplugin-bsp/plugin-bsp-debug
. - The following plugin runs can be started by clicking "Run" button in the upper right corner, next to the now present run configuration.
Common Issues:
- If you don't have JetBrains Runtime (JCEF) version 21, select version 17.
- JetBrains Runtime (JCEF) version 21 should be available for anyone in JetBrains organization - if you don't see it, make sure your JetBrains Toolbox and IDEA are logged in with your @jetbrains.com email
After completing these steps, your development environment should be ready for plugin development. If you encounter any issues not covered here, please reach out to the team.