Using the ABS Eclipse IDE

This site provides you with a step by step introduction to the functionality added by the ABS Eclipse IDE.

The ABS Perspective

The first thing you should do after installing the project is switch into the ABS perspective, which allows you to access the newly added functionality. To do this, click on the "open perspective" button in the upper right corner and click "other" (the menu is also accessible via Window -> Open Perspective). Select the ABS perspective and click on OK to open it.

The newly opened ABS perspective will rearrange you workbench windows, putting a project explorer and a module explorer to the left, an editor in the middle, an outline to the right and some windows containing further information and output to the bottom of the eclipse window. You may rearrange those later if you like.

In the main tool bar of the eclipse window, there will be five new buttons, allowing you to compile and execute you ABS project. The functionality provided by these buttons is also accessible via the newly added ABS menu in the menu bar above or can be used with eclipse's mechanism of run configurations.

Creating ABS Projects

To create an ABS project, right click in the project explorer and select New -> Project. A selection Dialog will open containing different wizards for different project types including an ABS Project. Choose this wizard and click "Next". On the following Dialog page, you can enter a name for the project and may change the directory where the project will be generated. After entering a name, you can Finish the wizard.

This will generate a new project folder in the project explorer, which can be filled with ABS files.

Cleaning ABS Projects

You may clean ABS projects, either by right-clicking them in the project explorer and selecting "Source -> Clean Up..." or using the Project menu in the menu bar. Cleaning will rebuild the ABS project and delete all files generated while compiling or executing.

Creating and Modifying ABS Files

To create an ABS file, you first should create an ABS project like described above. You can then right click on the project and directly create an ABS module by choosing either New -> ABS module (new file) or New -> ABS module (existing file). Note, that you may also directly create other ABS projects this way. Modules can also be created by right-clicking on any file or folder inside an ABS project.

Creating new modules will directly open those in the editor. To open a previously created .abs file, simply double-click it in the project explorer.

Using wizards

Instead of creating new interfaces or classes by hand, you can use wizards. By right clicking on an ABS module - either in the project or module explorer - you can choose New -> New Class or New -> New Interface.

Note: The selected module element must have an underlying module declaration in an ABS file. If a selected module element has no underlying module declaration, you only have the possibility to use the module creation

ABS Editor

The following sections will explain functionality of the editor and outline in detail.

Syntax Highlighting

The Editor will highlight specific elements of ABS modules, to improve readability of the document, namely keywords, strings and characters, comments, functions and types. Colors and style of the highlighting can be configured under Window -> Preferences -> ABS -> ABS Syntax Coloring.

Note, that syntax highlighting might not work correctly. If such behaviour is observed, please inform us of it (together with the example code leading to it).

Module Explorer

Similar to the package explorer of the Java perspective, the ABS Module Explorer gives an overview of all modules - and their respective sub-elements - contained in ABS projects in the current workspace.

Using the convention, that '.' characters in module names indicate a module hierarchy, the module explorer dissects all module names of a project and represents the respective hierarchy in its tree view.

Moreover, the Module Explorer supports the 'Link with editor' functionality that expands the tree structure to the corresponding module when switching to another editor.

Note: If more than one module declaration is in one editor page, the module that contains the last known cursor position is selected. If there is no last known cursor position, the tree is expanded to the first module declaration of that editor page.

Outline

The outline provides a tree overview of the currently opened ABS file. It distinguishes between

  • imports and exports
  • classes
  • functions
  • data types
  • interfaces and the
  • main block.

The outline can be ordered by artifact type (resulting in a grouping of all Classes, all Functions and so on), or lexicographically. Note, that ordering lexicographically will still group specific elements like data types and imports, since you usually do not want those intermixed with classes, functions or interfaces.

Classes and functions in the outline are also supplemented with their interface. Classes, functions and interfaces may again contain other elements.

Imports, exports and fields can be hidden by buttons on top of the outline.

Content Assistant

The ABS Eclipse IDE provides a primitive content assistant (the default to activate it is ctrl+space), which provides you with keywords and all classes, data types, functions and interfaces found in this project. Note: The content assist itself is not context sensitive and therefore may propose syntactically or semantically wrong elements.

Package Dependencies

The ABS Eclipse IDE provides the facility to use external ABS packages (APK) in an ABS eclipse project as dependencies.

More information