Available Options

All available configuration options are displayed here. The option keys and default values are also provided for users who wish to edit their configuration file.

Resource Locations. These options specify where to find Java resources on your computer, such as compilers or classpath directories.

Web Browser (browser.file = "")

Optional filename of your computer's web browser, to be used to view Javadoc and links from the Help. If blank, the platform's default browser (on Windows or Mac OS X) will be used unless you specify a Web Browser Command (explained below).

Web Browser Command (browser.string = "")

Any command or arguments you need to start your web browser. If both this option and the Web Browser option are blank, the platform's default browser will be used. In this option, any occurrence of "<URL>" will be replaced with the URL to open. (If "<URL>" is not specified, the URL will be appended to the end of the command.)

On Windows and Mac OS X, you can just leave this option blank and your default web browser will be used. For other platforms (eg. Linux), here are commands to open common browsers:

  • Mozilla (if it is already running)

    mozilla -remote "openurl(<URL>)"
  • Mozilla (if it is not already running)

    mozilla <URL>
  • Konqueror (the KDE web browser)

    konqueror <URL>
Tools.jar Location (javac.location = "")

Specifies the location of the JDK's tools.jar, which contains the classes necessary for the compiler and the debugger. This file is usually found in the JDK's lib directory.

JSR14 Location (jsr14.location = ""), JSR14 Collections Path (jsr14.collectionspath = "")

Specifies the location of the JSR-14 versions of javac.jar and collect.jar, respectively, for use as an alternative compiler in DrJava. JSR-14 is an experimental compiler provided by Sun which supports generic types. The collect.jar file contains parameterized collection classes for JSR-14. (We currently support JSR-14 versions 1.0, 1.2, 1.3, 2.0, and 2.2. Note that for versions 2.0 and later, javac.jar has been renamed gjc-rt.jar.)

Extra Classpath (extra.classpath = "")

Used to specify any directories or jar files to append to the classpath of the Interactions window and the compiler. Separate the directories using the system-specific path separator (eg. colon on Unix, semicolon on Windows).

Display Options. These configurable options affect how DrJava's user interface is displayed.

Look and Feel (look.and.feel = "")

Name of the Swing LookAndFeel class which determines the general appearance of DrJava. If this option is changed while DrJava is running, the changes will not apply until you restart.

Toolbar Buttons (toolbar.icons.enabled = true, toolbar.text.enabled = true)

These radio buttons control whether the toolbar buttons contain text, icons, or both. When set manually in the config file, each of the two options can be set to true or false, though icons will be displayed if both are set to false.

Show All Line Numbers (linenum.enabled = false)

Whether to display all line numbers along the left margin of the Definitions Pane.

Save Main Window Postion (window.store.position = true)

Whether to save the position and size of the DrJava window between sessions.

Font Options. Each font option is specified as a string containing the font name, style, and size, separated by dashes. The style should be in upper-case (ie. PLAIN, BOLD, ITALIC, or BOLDITALIC), while the font name must be a valid font on the system. (In most cases, using the font chooser in the Preferences window is the simplest approach.)

Main Font (font.main = Monospaced-PLAIN-12)

This font is used for the definitions pane and the tabs at the bottom of the window.

Line Numbers Font (font.doclist = Monospaced-PLAIN-12)

This font is used for the line numbers on the left side of the Definitions Pane, if the "Show All Line Numbers" option in the "Display Options" section is enabled. The actual font size will be limited by the size of the Main Font.

Document List Font (font.doclist = Monospaced-PLAIN-10)

This font is used in the list of all open documents on the left side of the window.

Toolbar Font (font.toolbar = dialog-PLAIN-10)

This font is used on the toolbar buttons, if the button names are configured to be displayed.

Color Options. Colors are defined similarly to HTML colors: as six hexadecimal digits preceded by a pound sign. The first two digits specify a red value, the next two specify a green value, and the next two specify a blue value. For example, #00FF00 would be a bright green. (In most cases, using the color chooser in the Preferences window is the simplest approach.)

Syntax Colors for Definitions

Normal Color (definitions.normal.color = #000000)

Used as the default color for program text.

Keyword Color (definitions.keyword.color = #0000FF)

Used as the color for known keywords (eg. "public", "for").

Type Color (definitions.type.color = #00007C)

Used for known primitive types (eg. "int") and capitalized words, which usually correspond to class names.

Comment Color (definitions.comment.color = #007C00)

Used as the color for all comments.

Double-quoted Color (definitions.double.quoted.color = #B20000)

Used as the color for strings, which use double quotation marks.

Single-quoted Color (definitions.single.quoted.color = #FF00FF)

Used as the color for characters, which use single quotation marks.

Number Color (definitions.number.color = #00B2B2)

Used as the color for all numbers.

Other Colors

Background Color (definitions.background.color = #FFFFFF)

Used as the background color for all panes.

Brace-matching Color (definitions.match.color = #BEFFE6)

Used as the highlight color when matching braces.

Compiler Error Color (compiler.error.color = #FFFF00)

Used as the highlight color for compiler errors and JUnit test failures.

Debugger Breakpoint Color (debug.breakpoint.color = #FF0000)

Used as the highlight color for breakpoints set from the debugger.

Debugger Location Color (debug.thread.color = #64FFFF)

Used as the highlight color for the location of the current thread in the debugger, shown after a breakpoint is hit or a step has occurred.

System.out Color (system.out.color = #007C00)

Used as the color for text from System.out.

System.err Color (system.err.color = #FF0000)

Used as the color for text from System.err.

System.in Color (system.in.color = #7C007C)

Used as the color for text to be read by System.in.

Interactions Error Color (interactions.error.color = #B20000)

Used as the color for text that indicates errors in the Interactions Pane.

Debug Message Color (debug.message.color = #0000B2)

Used as the color for text displayed by the debugger.

Key Bindings. Most menu items in DrJava have configurable keyboard shortcuts, along with several other navigational commands (such as moving to the beginning or end of a line). All such options are displayed on the Key Bindings panel in the Preferences window, along with their current value. Clicking on the value displays a window which allows the user to type a new key, showing any conflict with an existing key if there is one. (We recommend editing these options in the Preferences window.)

Debugger. All configurable options relating to the debugger.

Sourcepath (debug.sourcepath = "")

A list of directories on which to search for source files when stepping through code. The debugger will attempt to open files from these directories automatically when stepping.

Step Into Java Classes (debug.step.java = false)

Whether to step into Java source files when stepping through a suspended method call. It is recommended to put the Java source (usually distributed with the JDK) on the Sourcepath if this option is selected.

Step into Interpreter Classes (debug.step.djava = false)

Whether to step into DynamicJava source files when stepping through a suspended method call. DynamicJava is the Java interpreter used in the Interactions pane, and the source can be obtained from http://koala.ilog.fr/djava. Useful primarily when debugging DrJava itself.

Step into DrJava Classes (debug.step.drjava = false)

Whether to step into DrJava source files when stepping through a suspended method call. Useful primarily when debugging DrJava itself.

Classes/Packages To Exclude (debug.step.exclude = "")

Classes and packages that you do not wish DrJava to step into. These must be fully qualified class names or package names ending in ".*" (e.g. "java.util.*") separated by commas.

Javadoc. All configurable options relating to generating Javadoc.

Access Level (javadoc.access.level = "package")

Specifies the lowest access level for fields and methods to include in the generated documentation. Legal values are "public", "protected", "package", and "private".

Java Version for Javadoc Links (javadoc.link.version = (JDK Version))

Specifies which URL to use when generating links to Java library classes. Legal values are "1.3", "1.4", and "none" if no links to Java library classes are desired. (This option defaults to the version of the user's JDK.)

Javadoc 1.3 URL (javadoc.1.3.link = "http://java.sun.com/j2se/1.3/docs/api")

The URL to use when generating links to JDK 1.3 library classes.

Javadoc 1.4 URL (javadoc.1.4.link = "http://java.sun.com/j2se/1.4/docs/api")

The URL to use when generating links to JDK 1.4 library classes.

Default Destination Directory (javadoc.destination = "")

If a directory is specified, it will be used as the default when generating new documentation.

Custom Javadoc Parameters (javadoc.custom.params = "")

Any custom parameters to pass to the Javadoc tool, separated by spaces. Use "javadoc -help" at a command line to view the available parameters.

Generate Javadoc From Source Roots (javadoc.from.roots = false)

If this option is enabled, then Javadoc will not only search the current package and all subpackages for files, it will also search all "enclosing" packages (those at a higher level).

Notifications. Configures how often DrJava notifies you for certain events. The notifications in this section can all be suppressed by clicking on a "Do not show this message again" checkbox (or similar) on the notification itself.

Prompt Before Quit (quit.prompt = true)

Whether to display a confirmation message before DrJava quits.

Prompt Before Resetting Interactions Pane (interactions.reset.prompt = true)

Whether to display a confirmation message before resetting the Interactions Pane.

Prompt if Interactions Pane Exits Unexpectedly (interactions.exit.prompt = true)

Whether to display a message if the Interactions Pane is exited without the Reset button being clicked.

Prompt for Javadoc Destination (javadoc.prompt.for.destination = true)

Whether to always display the destination selection dialog when starting Javadoc.

Automatically Save Before Compiling (save.before.compile = false)

Whether to automatically save all files each time a Compile command is chosen.

Automatically Save Before Generating Javadoc (save.before.javadoc = false)

Whether to automatically save all files each time a Javadoc command is chosen.

Warn on Breakpoint Out of Sync (warn.breakpoint.out.of.sync = true)

Whether to warn if setting a breakpoint in a source file that is not in sync with its class file.

Warn if Debugging Modified File (warn.debug.modified.file = true)

Whether to warn if using the debugger on a file which has been modified since its last save.

Warn to Restart to Change Look and Feel (warn.change.laf = true)

Whether to warn that changes to the Look and Feel do not take effect until after a restart.

Miscellaneous. These are the remaining configurable options in DrJava.

Indent Level (indent.level = 2)

Sets how many spaces to use for each level of indenting. Note that tab characters are not allowed in DrJava.

Working Directory (working.directory = "")

Specifies the default directory for DrJava to use when starting up. The open and save dialogs will start here, rather than in the user's current directory, if this option is set. The Interactions classpath will also include this directory.

Size of Interactions History (history.max.size = 500)

Specifies how many commands will be remembered in the history of the Interactions window. Previous commands can be recalled using the up and down arrow keys.

Recent Files List Size (recent.files.max.size = 5)

Specifies how many recently used files to display in the File menu.

Automatically Close Block Comments (auto.close.comments = false)

Whether to automatically insert the string designating the end of a multi-line comment after beginning one.

Allow Assert Keyword in Java 1.4 (javac.allow.assert = false)

Whether to support the assert keyword when compiling with a JDK 1.4 or later compiler.

Keep Emacs-style Backup Files (files.backup = true)

Whether DrJava should keep a backup copy of each file that the user modifies, saved with a "~" at the end of the filename.

Clear Console After Interactions Reset (reset.clear.console = true)

Whether DrJava should clear the contents of the Console Tab each time the Interactions Pane is reset.

JVM Args (jvm.args = "")

Command line arguments used when creating the InterpreterJVM. This is an advanced option because if you use invalid arguments, the InterpreterJVM may not start up successfully. If this happens, remove the value stored in Preferences.