Describes the installation and usage of the Jalopy IntelliJ IDEA plug-in. IntelliJ IDEA is an intelligent Java IDE intensely focused on developer productivity. It provides a robust combination of enhanced development tools, including: refactoring, J2EE support, Ant, JUnit, and CVS integration. Packaged with an intelligent Java editor, coding assistance and advanced code automation tools, IDEA enables Java programmers to boost their productivity while reducing routine time consuming tasks.
Explains the steps involved to install the IDEA plug-in.
The plug-in requires IDEA 7.0 or higher. See Section 1.1, “System requirements” for the basic requirements to run Jalopy.
The plug-in comes as an executable Jar Archive (JAR) that contains a graphical setup wizard to let you easily install the software. Wizard installation is highly recommended and explained in detail in Section 1.3, “Wizard Installation”.
If you would rather install the plug-in manually, you have to decompress and copy the appropriate files into the different application and/or settings folders. To decompress the contents of the installer JAR, you can often use the build-in support of your file manager (e.g. Nautilus) or any other software that can handle the ZIP compression format (e.g. 7Zip, WinZip or Stuffit Expander). If you don’t have access to one of the convenience tools, you might resort to the jar command-line application that ships with your Java distribution.
When you’re upgrading from a prior version and want to keep your settings, first
copy or rename the current Jalopy settings directory to match the version number
of the new release. For instance, if your current settings directory is
and you’re about to install Jalopy 1.9.4, either copy the directory
contents or rename it to
Make sure IDEA is not running and remove any present Jalopy files in your IDEA
Plugin folder. The IDEA Plugin folder is located in the root directory of
your IDEA installation, e.g.
Check for a
jalopy/lib subdirectory. If it exists, delete
its contents. Otherwise create it.
Then copy the two JAR files
jalopy-idea-1.9.4.jar into this
Although Jalopy ships with sensible default settings (mimicking the Sun Java coding convention), you most likely want to configure the formatter to match your needs (adding copyright headers, tune Javadoc handling and the like). For such, Jalopy provides a configuration tool that lets you interactively craft and customize the code convention settings.
The Jalopy preferences are available through the IDEA preferences dialog. In order to access the preferences, on Mac OS X you use IntelliJ IDEA → Preferences... and select the Jalopy item in the window. On other platforms the dialog is available through File → Settings.... In order to quickly locate the item, you might want to enter “Jalopy” as the filter text in the search field at the top of the left pane.
The main preferences page lets you manage your Jalopy profiles. A profile stores the actual code convention that defines the formatting style, as well as user-specific data like file and dialog histories. You can edit, add, remove, activate, map and share any number of profiles. For a detailed explanation of the available actions, please refer to Section 184.108.40.206, “Main window” that provides generic information about the configuration dialog that applies to all provided IDE plug-ins.
Jalopy profiles are shared for the local user and not application specific. This allows the settings to be reused across different applications and furthermore enables your team to easily work with different tools while sharing the same source code style.
The Synchronize preference page lets you specify an external settings file with exported code conventions to automatically synchronize with in order to keep your local settings always up-to-date. The Synchronize preferences are workspace specific and not stored as part of a Jalopy profile.
In the text field you can enter the resource path to the settings file you plan to synchronize with. This should usually be the URL of a shared server. To browse for local files, you can press the Browse... button and open a file dialog.
You can provide the resource path right during installation as described in Section 1.3.6, “Configure plug-in Defaults”. This way individual developers are not required to configure anything at all on their machines
By default, Jalopy checks the specified settings file for changes each time it is about to format. This can be prohibitive when the code convention sits on a server without fast network access. In order to avoid long delays in such situations, you can enable local caching. Jalopy then only checks once per day for changes.
The Update preference page lets you configure automatic update checking and notification. Automatic update checks for and informs about new releases. The Update preferences are application specific and not stored as part of a Jalopy profile.
To enable automatic update notification, check this option. When disabled, you won’t ever be notified about updates.
When selected, update checking is performed only once during each session—on application startup.
When selected, you can specify day and hour when update checking should be performed periodically.
When selected, the update notification appears only once during a session.
When selected, you can define the time interval when update notification should remind you about updates.
You can define whether the IDE plug-ins should check for updates right during installation as outlined in Section 1.3.6, “Configure plug-in Defaults”
The Format with Jalopy action can also be triggered via a keyboard shortcut. The default keyboard shortcut is Ctrl+Shift+F11, but it is recommend to re-configure the shortcut to something more accessible. To change the shortcut, open the IntelliJ IDEA Keymap preference page via the application menu, File → Settings → Keymap (on Mac OS X Preferences... → Settings → Keymap) and enter “Jalopy” in the search field to display the Jalopy related actions. Select the Jalopy binding and specify your preferred keyboard shortcut. Shift+Alt+F would be a good choice, but is already used with the default scheme and would have to be overridden.
Please be aware that the shortcut works globally, but is mapped to different actions depending on the current context and therefore might yield different results when used in different views, i.e. if the editor has the focus, the shortcut triggers the formatting of the active editor. If the Project tool window contains the focus, the shortcut triggers the formatting of all selected nodes in the window. Please make sure that you are in the desired context and have the desired elements selected when pressing the shortcut.
Describes how the plug-in integrates with IntelliJ IDEA.
The software naturally adds new menu items to the menu bar and pop-up menus of different editors and views to be able to trigger formatting manually, but also allows automated formatting.
While manual formatting can become quite a habit, it may be best to automatically ensure proper formatting in order to free developers from the burden to keep their code always in compliance with the company rules. Jalopy provides a Format on Save feature to have formatting automatically applied whenever a dirty file is saved. To activate Format on Save, open the Jalopy preferences and enable the corresponding option as described in Section 2.2.3, “Format on Save”.
To format the currently active editor, open the pop-up menu by right-clicking with your mouse or pressing the Shift+F10 keyboard shortcut, and select the “Format with Jalopy” item. Alternatively, you can press the configured keyboard accelerator for the format action.
If there is some text selected in the editor, only this section will be formatted (selective formatting). This can be helpful when editing portions of very large files, as selective formatting can speed up processing considerably. It comes especially handy when you want to limit formatting to a specific file portion in order to avoid unnecessary differences when editing a file that has not (yet) been formatted according to the company code conventions.
The action is also available through the pop-up menus of certain tool windows. Currently an item is added to the Project, Structure, Commander and Hierarchy tool windows. Depending on the selected element, the action triggers formatting for whole working sets, projects, folder and package hierarchies, or only one or several source files.
Jalopy displays all runtime messages in its own tool window. Messages are shown in a tree control, with each branch containing the messages for a specific file, and individual messages displayed as leafs. File messages show the number of leaves and the warning and error count.
The message types are differentiated with icons and by color: Errors are red with an error icon, warnings are shown in blue and display a warning sign, informational messages are black and carry a file icon and debugging messages are black and prepended by a bug icon.
Clicking on a file name will open that file, clicking on a message that contains location information will open the file containing the message and move the caret to the nominated location.
The view provides a context menu with some useful actions.
|Copy||Copies the textual contents of the selected messages into the System clipboard. If a message contains children, the contents of all children are copied as well|
|Clear||Removes all selected messages|
|Clear All||Removes all messages currently being displayed in the window|
|Select All||Selects all messages currently being displayed in the window|