After quite a bit of work we have released the new version of JRebel plugin for IntelliJ IDEA. In this blog post I’d like to provide an overview on what’s changed.
First of all, please note the new versioning scheme for the plugin. The plugin version is now changed to match the JRebel agent version. This means that the new version of the plugin will be 5.4.2 as it bundles the latest stable version of JRebel agent.
Due to the API incompatibilities between IntelliJ IDEA versions 12 and 13 we will actually ship two versions of the plugin: one for IDEA version 12 and one for version 13. However, the functionality is exactly the same for both versions of the plugin.
The UI changes
Most of the changes were made in the UI part of the plugin. There are some new components in the plugin, some of the UI elements were moved to some different location and some of the controls where removed for good. So let’s go over the screens and see what’s new.
First of all, if you used the plugin before, you will notice that the icons are different. Our old icons didn’t match very well with the current IntelliJ IDEA flat icons, so we decided that it is a good time to update.
JRebel tool window
The new JRebel tool window has been introduced. The tool window purpose is to provide better overview of the project and simplify access to JRebel configuration. In addition, the tool window will be a great help to those users who leverage Remoting functionality.
License activation screen is now moved out from Settings into a dedicated dialog. It can be accessed either from JRebel overview tab or via Help menu.
To activate certain type of the license the user has to explicitly select the preferred option. This way, it is now possible to understand, which license is currently active.
You will also notice a few changes in the plugin settings screens. The overview settings screen now shows license information, statistics settings and settings related to reporting and notifications.
The new tab for offline mode will be useful for those users whose licenses are hosted by the license server. If the license server is configured, then it is possible to reserve an offline license token for a predefined period of time.
Logging settings and agent path selection are moved now into the Advanced view.
JRebel module facet
JRebel module facet is mostly useful for setting up Remoting configuration.
By using the facet, the user can specify the target URL for JRebel Remoting. The facet also provides some additional configuration options – for instance, if the synchronization should be performed either automatically or on demand, or if the connection should be encrypted.
To configure Remoting functionality, JRebel has to be “enabled” for the specific module. It actually means that the rebel.xml configuration has been generated for the specific module. If you try to “disable” JRebel for the module, it will also try to clean up all the configuration artifacts.
More to come
The plugin was reworked a lot, but we would definitely like to improve it even more! More features will be added in the upcoming releases to make the plugin even more convenient to use. Give it a try and provide your feedback!