SpeedJava plugin

Jeffrey Hoyt

Stefan Kost

Jim Wissner

Legal Notice

Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.1 or any later version published by the Free Software Foundation; with no "Invariant Sections" , "Front-Cover Texts" or "Back-Cover Texts" , each as defined in the license. A copy of the license can be found in the file COPYING.DOC.txt included with jEdit.


Table of Contents

Chapter 1. Presentation

SpeedJava provides member completion and browsing when editing java files. SpeedJava uses a very small and fast parser to derive information from the current (editing) Java file, and Java's reflection mechanisms to obtain member information from imported classes and interfaces.

Chapter 2. Using the SpeedJava plugin

Member Completion

Activation of the completion popup mechanism is automatic as you type into the text area. SpeedJava recognizes member names and populates the popup with any corresponding matches. Additionally, when a period is typed after a variable or method call, a list of available members of that item are displayed. Once a member in a list is selected, if it is to be called itself, simply typing another period will auto-complete that member and bring up a new list of its members.

Quick-Lists

SpeedJava has a "quick-list" feature which allows you to very easily create short alternate member lists for classes that have otherwise very large numbers of members. Simply activate the popup on an object of the type for which you wish to create a quick-list, find a member you wish to add to the list, and hold down the shift key as the enter key is pressed. This can be done for as many members as is desired. Once a quick-list has been created with at least one member, all subsequent popup activations on objects of that type will bring up the quick-list. To go immediately to the full member list, simply press and release the control key while the popup is visible. Alternately, you can type characters as normal and the full list will be loaded automatically when needed.

As an example, consider you have a String variable called "name". The popup is brought up normally, for instance by typing "name.". With the entire member list now visible, you type "s" followed by "u", which moves the selection down to the member "substring()". Instead of hitting the enter key, hit shift-enter. The member has now been selected as normal, and the popup is gone. Now if you type "name." again, or activate the popup for any other String variable, you will see a list with one entry - substring. From here, you can either make this selection, or by tapping the control key bring up the entire member list. However, you don't even need to do this. If you simply start typing the first few characters of the member you wish to select, it will bring up the entire member list as necessary. For instance, if you type "s", then substring will become highlighted, but then pressing "t" will replace the quick-list with the entire member list, and highlight startsWith(). This member can then be added to the quick-list itself as described above, or just selected normally and left off of the quick-list.

Override Templates

SpeedJava can automatically create templates for overriding methods in a class that you're editing. In order to use this feature, simply move any editing file to where you wish to add the method template. Then activate the popup by typing the name (or first few characters) of the method that you wish to override. Once this method is highlighted within the popup, press and hold the ALT key as you hit the enter key. That's it! The format of the method can be edited through the options panel.

Class Browser

SpeedJava includes a class browser that can be docked to allow you to view the members of the editing class. To enable it, go to Utilities->Global Options->Docking, and it is called "SpeedJava". If you dock it to the left or right, you can browse your class' members. Clicking on a member will move you to its location in the source file.

Chapter 3. Customization

Several options are configurable from the jEdit options dialog. There are options to control the GUI of the plugin, and internal behaviour when executing several actions. The options are:

General

Customize the general behaviour of this plugin.

  • Additional classpath:

  • Method override mask:

  • Listmode: show member panel as list or as tree.

Style

Here you can defined which colors and font-styles SpeedJava should use in the member panel.

Tree Panel

Here you can customize the behaviour of the member panel in tree mode.

List Panel

Here you can customize the behaviour of the member panel in list mode.

Popup

Here you can customize the appeareance and the behaviour of the member popup.

Chapter 4. License

The source code is distributed under the GPL. Please see http://www.fsf.org/copyleft/gpl.html

Chapter 5. Feedback

The preferred way to send bug reports is to use the Sourceforge Bug Tracker at http://sourceforge.net/bugs/?group_id=588 Please start the report subject with the text "SpeedJava:".

You can also write to:

Chapter 6. Credits

  • SpeedJava was originally developed Jim Wissner