Skip to content

IDE

Ensure you are set-up with a working build on the CLI before configuring your IDE.

GitHub Codespaces

Open in GitHub Codespaces

Web-based IDEs are great to easily work from any computer.

We recommend you use GitHub Codespaces to contribute to this project by clicking here.

This project is configured to automatically configure your Codespace with all required tools. If anything doesn’t just work “out of the box”, please create an issue. The only “it’s not 100% fully automated” currently known open issues to be aware of are:

  1. You must “Switch to Pre-Release Version” for the Bazel extension for Java extension

If you are missing your fancy custom Shell configuration that you have built over the last 100 years, you should set up your dotfiles for Codespaces such as e.g. this dude did in his dotfiles.

If you are hitting the “Codespace could not be created: SKU name ‘basicLinux32gb’ is not allowed for this repository” error, this actually (somewhat confusingly) indicates a billing problem. Please create an issue on the project to discuss how we can increase quota so that you can contribute.

Visual Studio Code on Web

You may alternatively be interested in using:

with a Remote Tunnel e.g. your own VM in the Cloud, or to a computer at home, or perhaps even simply running and exposing a code serve-web with your own VPN or SSH port forwarding solution (but without GitHub tunnel).

While GitHub Codespaces are built on VSC Web technologies, this project is currently known to unfortunately not work well with such non-GitHub Codespaces VSC Web environments. The bazel-vscode-java issue #94 has more background about this.

Local Visual Studio Code (VSC)

You must manually install the following tools locally for all VSC extensions to work:

$ go install github.com/yoheimuta/protolint/cmd/protolint@latest

$ sudo apt get install clang-format
# sudo dnf install clang-format

The code style used in this project will be enforced while typing in VSC using the extensions below. They are automatically proposed to be installed (because they are all listed in .vscode/extensions.json). They will all also automagically pick up their options from the respective configuration files in this repository; this makes the VSC IDE and pre-commit use the same parameters for these tools.

JetBrains IntelliJ IDEA (IJ)

IJ can be used as a complete alternative to VSC, or only for Java coding, with:

Eclipse

Eclipse is not actively supported by this project as an IDE.

It may work using the Bazel Eclipse Feature, but this has not been tested yet.

We recommend using VSC.

Other

Some people prefer coding using 🙊 hexedit or one its derivatives 😈 such as vi or emacs.

You can just launch the ./test.bash script to automatically format code while coding locally when using other IDEs.

Or contribute to this page to document how to set up your favorite editor.