This article explains how to install and configure IntelliJ IDEA for use with ImageJ development. Directions correspond to IntelliJ IDEA 11.1, and may need adjustment for other versions.
Install and configure IDEA
- Install Java Development Kit. Download and install Java SE 8 from the Java web site. Or install it via a package manager, if possible.
- Install IDEA. Download and install IDEA from the IDEA web site.
Import the ImageJ source
From the IDEA menu, choose Version Control › Checkout from Version Control › Git
- For the Git Repository URL, enter:
- Specify a Parent Directory, click Clone, and wait
- When prompted, click Yes to create an IntelliJ IDEA project from the sources
On some platforms, the first time you perform this procedure, you may be prompted to select the project JDK:
- Click the plus sign and choose “JSDK”
- Navigate to the directory containing your JDK installation
Launch the program
- Choose Run › Edit Configurations from the menu
- Click the Plus icon and choose Application
- In the Name field, type “/about”
- Type “net.imagej.Main” for the Main class
- For “Use classpath and JDK of module” select “imagej” from the list
- Click OK
- Choose Run › Run “/about” from the menu
The project automatically builds before launching, so it may take a little while the first time.
Code style profiles
This section is a short guide on how to start using the Eclipse code style profile of ImageJ.
Installing Eclipse code formatter plugin
The first step is to install the Eclipse code formatter (ECF) plugin to your IntelliJ:
Open File › Settings
- Select Plugins from the left-hand pane
- Click Browse repositories…
- Type Eclipse code formatter to the search field
- Select the plugin from the list and click install on the right-hand pane
- Click Restart IntelliJ
A tutorial on IntelliJ plugins can be found here.
After installing the ECF plugin you need to set it to use the Eclipse code styles file of the ImageJ project:
- Download eclipse-preferences.epf
- Open Eclipse and follow these steps to import an
Open Window › Preferences › Java › Code Style › Formatter
- Set Active Profile to ImageJ
- Click Export All… and save the XML file
- Open IntelliJ
- Open your project
Open File › Settings › Eclipse Code Formatter
- Check the Use the Eclipse code formatter radio button
- Set Eclipse Java Formatter config file to the XML file you just created
- Set Java formatter profile to ImageJ
- Check Optimize Imports
- Set Import order to Manual configuration and write
NB You can skip the first five steps if you use this XML file. But note that it is old and possibly out of date.
More information on setting up the ECF plugin can be found here.
@Plugin annotated classes
When renaming a classname which was annotated with SciJava’s
@Plugin annotation, an error may occur during launch of the application looking like:
[ERROR] Exception during event handling: [Event] org.scijava.module.event.ModulesUpdatedEvent context = org.scijava.Context@1a05aced consumed = false items = label='About ImageJ...', iconPath='/icons/commands/information.png', priority=0.0, enabled=true, pluginType=Command items = label='Preferences', priority=0.0, enabled=true, pluginType=Command items = label='Quit', iconPath='/icons/commands/door_in.png', priority=0.0, enabled=true, pluginType=Command [Subscriber] org.scijava.menu.DefaultMenuService [priority = 0.0] [Method] protected void org.scijava.menu.DefaultMenuService.onEvent(org.scijava.module.event.ModulesUpdatedEvent) java.lang.IllegalStateException: Can't overwrite cause with org.scijava.InstantiableException: Class not found: the.plugin.you.just.Renamed
The error may be related to some caching mechanism in the IDE. The solution is to clear the caches, e.g. by running
mvn clean from the maven panel.