IDE¶
Ensure you are set up with a working build on the CLI before configuring your IDE.
Enter nix develop
and run ./test.bash
to verify that the setup is correct; it should complete without errors.
Because of the Nix requirement, please launch your IDE not via its usual graphical Desktop launch, but
from within a nix develop
shell on the CLI, where PATH
is the Nix environment. This avoids many problems, like
issue #1657, etc.
JetBrains IntelliJ IDEA (IJ)¶
Do not launch IDEA graphically via Toolbox, but from the CLI. To do this, start JetBrains Toolbox, click on Settings of IJ
(in Toolbox, BEFORE starting it), and Configure...
the shell scripts’ location to be a directory on your PATH
(e.g., $HOME/.local/bin
).
Toolbox may warn that it Cannot find the specified directory in the system PATH.
You can ignore this, as long as the directory is on the PATH
in the nix develop
shell from which you will launch IJ.
Toolbox will now have put a launch script into that directory.
The required plugins are managed via the .idea/externalDependencies.xml
.
Visual Studio Code (VSC)¶
Please launch VSC via code .
in the nix develop
environment, not via another starting mechanism (see the introduction of this page).
This is not using Bazel IDE integration (anymore now), but just simple “unmanaged source folders”, configured in .vscode/settings.json
. Please let us know if you find any discrepancies with the build system.
The required VSC extensions are managed via .vscode/extensions.json
. They will 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.
The JAR libraries in the generated/classpath
directory are placed there by the tools/javac/classpath.bash
script.
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.
Debug¶
bazelisk run //java/dev/enola/chat:demo -- --debug
(...)
Listening for transport dt_socket at address: 5005
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.