Designed purely for use on the latest version of AmigaOS, CodeBench is a management system that is modular to allow adaptation to various programming languages.
Utilizing a "project" based system, all files are grouped together by type and are easily accessible from the Project Window. Editing is a simple matter of selecting the required file and it is opened in the built-in editor. Creating the finished article from the project is a one click event from the toolbar.
The Detailed View section gives a much more in-depth explanation of all the various parts and windows, but as an overview, listed below is a basic description of the more important features of CodeBench.
Button driven Toolbar
Easy access to all the popular functions in one toolbar ( Open, Save, Build etc) are all just a button click away.
Drag'n'Drop
Easy project and file loading by dropping icons on various parts of the interface. Both project and file icons can be dropped allowing context sensitive adaptation. (Currently not supported). The list of project files can be easily organized by dragging items around in the list, and dragging files into the editor window.
Integrated Project window
Lists all the files currently part of the project, and allows simple double click interface for editing project files. Both the Header and Source lists allow the changing of the order to affect the precedence in which the components are built, and displayed.
Automatic build script generation
Project dependent script creation based on all relevant files in the project at the time. Can be turned off for existing scripts. The ability to also track when scripts are stale and need to be rewritten is also available. If a script is required, it is generated depending on the type of project being worked on. Non-compiled languages will simply run the interpreted project on-the-fly. Automatic dependency tracking is applied to the build script, so any part of the current project will be rebuilt if other files have changed which it needs. This feature may not be available depending on the type of the current project.
Fully integrated editor
Tabbed editor allowing multiple files to be open at any one time. Syntax highlighting and all the usual functions are included: Cut, Copy, Paste, Undo, Find, Replace, Indent etc. Blocks of pre-built code can also be inserted as well as handling highlighted blocks. Also supports colour " themes" for familiarity.
Integrated Clip Manager
Optional window showing a history of clipped text sections, with easy double-click pasting at cursor position.
"Quick-Link" window
Optional window allowing self-discovery of functions and procedures in a source file to be shown. Jumping to a function in a file is just a click away. Live update shows which function the cursor is currently inside. Also supports definable labels embedded in the source for one click jumping to any desired point in the file. Can also be used for AutoDocs and AmigaGuide files to highlight their sections.
Integrated Build window
Shows output and errors from the build process, and allows clicking on errors to be taken to that point in the source. Also includes extra buttons for quick access to build functions.
Asynchronous build process
Allows continued working while building the project is in progress.
Comprehensive Asynchronous Search
The Search facility allows full project wide searches with optional replace allowing freedom from external search methods. The search system will continue while you are working, and will adapt its search scope depending on which window it was started from.
Recent List
A list of the most recently opened projects is maintained for ease of use. Simply select an item from the list and have it open as it was when closed.
User menus
Allows definable menus, keyboard shortcuts and set the function. (Currently not supported)
Customizable display
Specify a screen mode and font to use from the program preferences editor.
Locale friendly
Allows support for local language (if included) (Currently only English is supported).
Dedicated scratchpad
Support for a scratchpad, called "Project Notes", is built in, allowing fast editing and a convenient place for notes, "todo"s and bug reports.
Fast menu links
Allows fast editing of build script or Project Notes document, amongst others.
Context-sensitive menus and popup's
Some options give varying functionality depending on which window the option was selected from.
Context-sensitive Help system
The help system that you are reading now can be viewed directly from inside CodeBench, and will show the relevant section depending on where the help was called from.
"Help-as-you-Type" system
An integrated dictionary system keeps track of certain words under the cursor and presents various help options as you type or select words. The dictionary can be rebuilt as many times as you want and decides the source of information automatically depending on the project type.
"Auto Indentation" system
A fully configurable system whereby you can specify which lines should be automatically in-dented and out-dented. You configure certain keywords or patterns, and when a new line is requested, the line may be in-dented or out-dented if any of the conditions are met.
"Change notifications"
Files in the project are monitored for changes by external programs to ensure synchronization.
"Repository" support
Support for synchronizing your code with remote servers is included via a "plugin" interface. Included plugins allow very simple CVS and SVN synchronization, and also introducing SVN Tool; probably the most advanced SubVersion front-end for AmigaOS right now.
"AutoDoc" Viewer
Integrated AutoDoc viewer allowing all AutoDocs to be viewed from a single application.