FreeRIDE: UserDoc

## FreeRIDE User Documentation

### Introduction

The goal of FreeRIDE is simple, yet ambitious: to become THE cross-platform IDE of choice for the Ruby community. We want FreeRIDE to be a first-class IDE on par with those available for other languages. These goals include:

- Cross-Platform -- FreeRIDE will run on as many platforms as possible.
- International -- FreeRIDE will be easily translated into other languages and will include features that make it easier to develop Ruby applications that can be internationalized.
- Plugin Architecture -- FreeRIDE's plugin architecture will make it easy for any developer to extend the features of FreeRIDE.
- Extreme Programming -- FreeRIDE will include features that make it easy to use many practices that have been popularized by the Extreme Programming method. This will include collaboration support for remote pair programming, unit testing support for test-first coding, refactoring support, and more.
- Code Editing & Navigation -- All the now-standard code editing and navigation features you would find in any high-end IDE, including syntax highlighting, code completion, template expansion, class browsing, etc.

Please realize that this is a very early release of FreeRIDE and we have a long way to go before we realize these goals. This release includes basic functionality and an extremely flexible plugin architecture that makes it easy to add extensions.

### Overview

This user documentation is fairly minimal. But it doesn’t need to be extensive (at least not yet), because what has been implemented so far is very straightforward and operates pretty much like any other GUI-based IDE or code editor. You should find its use to be familiar and comfortable (if not, then please let us know).

FreeRIDE is built on a very flexible plugin architecture that allows it to be easily extended. In fact, except for the code that implements the plugin system, the entire FreeRIDE IDE is implemented as a set of plugins. If you are interested in creating your own plugins to add new capabilities to FreeRIDE, or if you want to join the FreeRIDE project, please read the DeveloperDocumentation?.

The following features have been implemented in this release of FreeRIDE:

- Edit multiple files in a tabbed edit panel with Ruby syntax highlighting and auto-indenting.
- Navigate within a source file using the Source Browser (a tree-style parsing of your code showing all modules, classes, methods, etc.).
- Debug your code using the integrated debugger.
- (For FreeRIDE developers:) visually inspect the state of the internal Databus.

The code editing panel is implemented using Scintilla and should be familiar to anyone who has used Scite or any other Scintilla-based code editor. It includes basic code-editing features like syntax highlighting, auto-indenting, and the expected basic navigation (Ctrl-tab to move by word, shift-key to extend selections, tab-key to indent selections, etc.).

### Installing FreeRIDE

To run properly FreeRIDE requires 3 external software components:

- [FOX], a cross-platform C/C++ GUI Toolkit that is now gaining a wide acceptance in the Ruby community (version 1.0.x with x > 26)
- [FXRuby], the ruby interface to the FOX library (version 1.0.16 or above, but do not use 1.0.17)
- [FXScintilla], a FOX port of the [Scintilla] widget editor (version 1.49.0 or above)

For Windows users a FreeRIDE specific Ruby distribution is made available by Andy Hunt and includes FOX, FXRuby and FXScintilla. You can get it [here].

For Linux users it is very likely that your favorite distro comes with the FOX toolkit either already installed or available as a contrib. FXRuby and FXscintilla are available on the projects web site (see hyperlinks above). Worst case you can get the 3 of them from the [FreeRIDE file repository].

FreeRIDE also relies on a number of other Ruby packages but they come with the FreeRIDE software (redist directory). The reason why we did that is:

- to make installation easier
- to make sure that FreeRIDE uses the right version of the package
- minize FreeRIDE impact on your Ruby installation.

### Running FreeRIDE

The directory in which you installed FreeRIDE contains a system script named "run.bat" that will start FreeRIDE. In Linux you would use “sh run.bat” and in Windows you can simply execute this script directly.

FreeRIDE is entirely written in Ruby so, depending on the speed of your computer, it may take a while for FreeRIDE to start up. Once FreeRIDE has started, however, performance should be good.

### Menu Commands

For the most part, the menu commands should be familiar and obvious.

#### The File Menu

- New -- opens a new, empty edit window.
- Open -- Opens an existing file for editing.
- Close -- Closes the currently active edit window.
- Save -- Saves the changes in the currently active edit window.
- Save As -- Saves the currently active edit window under a new filename.
- Exit -- Terminates FreeRIDE.

#### The Edit Menu

- Undo -- Undoes the last editing operation.
- Redo -- Reapplies the last editing operation that was removed by the Undo command.
- Cut -- Cuts the selected text to the clipboard.
- Copy -- Copies the selected text to the clipboard.
- Paste -- Pastes the contents of the clipboard at the current location (or replacing the current selection) in the edited file.

#### The View Menu

- Ouput Window -- Toggles the display of the Output Window.
- File List -- Toggles the display of the File-List pane.
- Source Browser -- Toggles the display of the Source-Browser pane.

#### The Run Menu

- Debug – Starts the debugger and executes the Ruby program in the current edit window.
- Run – Executes the Ruby program in the current edit window, displaing its output in the Output Window.
- Clear Output – Clears all text in the Output Window.

#### The Tools Menu

- Databus Inspector -- Opens the Databus Inspector window (used to debug FreeRIDE plugins).

#### The Help Menu

- Help -- Displays help on using FreeRIDE..
- About -- The standard, obligatory about box.

### The Default Keyboard Shortcuts

     Ctrl+C        Copy
     Ctrl+D        Debug
     Ctrl+L        File Browser
     Ctrl+N        New File
     Ctrl+O        Open File
     Ctrl+S        Save
     Ctrl+Shift+S  Save As
     Ctrl+V        Paste
     Ctrl+W        Close File
     Ctrl+X        Cut
     Ctrl+Y        Redo
     Ctrl+Z        Undo
     F5            Run
     Ctrl+F5       Clear Output Window
     F7            Source Navigator
     F8            Output Window

### The Source Browser

The Source Browser helps shows you the structure of your source code and lets you jump directly to differently parts of your source code. It does this by parsing your source code and displaying an outline of the contents of your source code as hierarchical tree. Clicking on an item in the tree (like a method name or a class name) will cause the editing pane to jump directly to that item in your source code.

The Source Browser is occupies a docked window pane the runs down the left side of the FreeRIDE window (if the Source Browser is not visible, you may need to use you mouse to grab the splitter bar at the left of the editing pane and drag it to the right).

Currently, you must manually force the Source Browser to refresh (reparse the source code) after you have made changes to your source code. This is a temporary measure that was needed to maintain adequate performance. The long term goal is to make this completely automatic.

### Debugging

(to be written) – Note: shift-click left in margin of the edit-pane to set or clear a breakpoint.

### The Databus Inspector

The Databus Inspector is a GUI tool for interactively exploring the current state of the internal Databus that is the central communications hub for all FreeRIDE plugins. This will only be of interest to developers who are creating and debugging FreeRIDE plugins.

Please see the developer documentation for more details about the Databus.

Version: $Id: userhelp.html,v 1.4 2003/01/13 09:57:17 curthibbs Exp $

Copyright © rubyide.org