Offline Development Environment Tips

On this page, we discuss various software development features available in the offline development environment for Quorum. This includes a variety of shortcuts and helpers for understanding or working with source code. Note that while these features are mentioned so that teachers or students can use them, all of them are optional. Source code written from a plain text editor will ultimately work the same after being compiled. By its nature, this tutorial uses concepts learned throughout the course, so it is somewhat advanced.

Keyboard Shortcuts

The NetBeans programming environment, by default, has a wide variety of keyboard shortcuts available to the user. These shortcuts vary by operating system and can be customized by preference. In this section, we discuss some of the more common shortcuts.

Navigation Shortcuts

When navigating throughout NetBeans, there are a variety of shortcuts that can assist in getting from place to place. These are described in this section.

Editor Shortcuts

This section includes a variety of new hotkeys for keyboard navigation in the editor. There are many more hotkeys other than those listed here, but these can be useful.

Compilation Shortcuts

This section includes a variety of new hotkeys for keyboard navigation in the editor. There are many more hotkeys other than those listed here, but these are particularly useful.

Debugging Shortcuts

Debugging Quorum in NetBeans is very similar to debugging in most programming languages. Specifically, when a debug session is started, Netbeans loads new controls, which are in the top bar (as shown in the previous image). These controls and their keyboard shortcuts are named below and their purpose is described.

Miscellaneous Shortcut Keys

There are many shortcuts for performing various tasks in Netbeans. Many additional shortcut keys can be found in Oracle's guide to NetBeans' shortcuts Shortcut keys are often dependent on the operating system and can always be changed in the preferences window.

Development Environment Features

This section provides a basic list of features that the development environment for Quorum supports and their broad purpose. Using these features is optional.

Code Completion

Many modern development environments, including the one for Quorum, has a feature that is often called code completion. Code completion is a pop-up window that provides information about the source code. It used to determine the kinds of actions, variables, or other attributes of the object we can interact with.

This is an image of the completion

Coloring, Highlighting, and Folding

This image shows an example of the coloring, highlighting, and folding features in NetBeans. Notably, there are several kinds of colors. Blue indicates keywords, green indicates field variables, and a yellow highlight indicates all of the locations that the variable is used. The keyboard shortcuts above allow us to quickly navigate between the items.

In addition to colors, NetBeans allows us to "fold" regions of our source code, in order to hide them. By default, folds are open, but by using keyboard shortcuts or the mouse, we can open and close them.

This is an image of the highlighting

Editor Hints

Sometimes when we program, we make errors. At other times, the programming language we are using can detect aspects of the program we are writing and provide us with suggestions. For example, one common error is to "forget" (or not know) where a library lives on our system. Consider the class Drawable in the following image. If we were to type Drawable and then a variable name, Quorum can detect that there is a class called Drawable in the standard library and provide us a suggestion to fix it automatically. In other words, it is not necessary to memorize all of the locations for classes in the standard library, as Quorum can figure them out on its own. The hotkey for this is ALT + ENTER.

This is an image of the hints

Navigation

There are many ways to navigate source code in modern development environments. We can use the mouse to navigate or scroll in an environment. We can use the keyboard shortcuts to move between declarations, highlights, or by line. Many environments also include a built in navigation window. The navigation window is an optional way to move around source code logically, with either the keyboard or mouse. It is sometimes useful to view code in this way, as opposed to line-by-line.

This is an image of the navigation