Program Menus Quick Reference


CodeBench Menu

CodeBench Menus About...

This menu item will show a requester that includes version and copyright information . Please report the version number stated here in any correspondence regarding support etc.



The Help menu will display this documentation. It uses the "launch-handler" to open the web browser of your choice, and the displayed text is dependent on the location that the Help was launched from. For example, selecting this menu from the Editor window would show the documentation that is specific to the editor. Similarly, the menu selected from the Project window would open the documentation for that. This feature is also accessible by pressing the "Help" key one your keyboard.


Show me a "Handy Hint"...

A Handy Hint These are brief overviews of various topics that may not be instantly obvious to the user. By selecting this menu, you can view all the hints. If a hint is of particular interest, you may select the "Show me more" option and this documentation will open at the appropriate place to allow you to read about the topic in more detail. The free licence versions will show a random hint each time a project is loaded.

You may also disable these hints from showing after loading a project via the Preferences (not applicable to the free-licence versions).


Visit the Support Forums

This will load your configured web browser and load up the support forums. You may be required to login with your Community Client details if you have not cached the login credentials with your browser.


Run the Community Client...

If the Client does not run automatically when CodeBench starts, it may be started by selecting this item.


Iconify All

The entire program can be iconified. This will place an icon on the Workbench screen. The label for the icon will reflect which project is currently loaded when the iconification took place, or it will simply be "CodeBench" if no project is loaded. Double-click it to reopen the program. 



Exit the program. This may display a confirmation requester depending on the current preferences settings.


back to the top



Project Menu

Project Menus New...

Create a new project from scratch. This will invoke the Project selection window and the Information window to allow the project to be configured. This function is also available in the main Toolbar.



Allows a project to be loaded from disk and to have it shown in the same state as when it was saved. This function is also available in the main Toolbar.



Project Importers Opens a requester listing any importers that the currently installed plugins may support. As of the time of writing, only the AmigaOS4SDK plugin has an importer for StormC projects. You may select the type of project to import from the list, and you will be asked to supply the full path to the project that you wish to import. If the project is verified as the correct type, the importer will create a new project from it, and automatically include the files within it. This makes it extremely easy to migrate from StormC to CodeBench, and saves having to recreate your projects. Whether the source actually compiles is another matter though!



Allows the project to be saved to disk. Current cursor positions of all open files will be saved as well as a list of which files in the project were open at the time.



Allows projects to be linked together. See here for more information.


Recent Projects...

Recent List Each time you create or load a project, it is added to an internal list of recently accessed items. This menu shows the requester that allows you to select a project from that list. The time and date is shown for convenience, and the list is ordered with the most recent item at the top. The free licence versions limits the length of this list to the last 16 entries.
You can click on each of the column headings in the list to sort the order of the entries, this makes it much easier to find a particular project when the list starts to fill up.
Loading may be done by double-clicking the name of the project you wish to load (or by using the Load button).
The Remove button will remove an entry from the list permanently in order to clean up the list.
Lastly, the Open Other... button will open the Load Project requester in case the project required is not in the recent list. This saves having to close the Recent window and open the load requester manually.



This menu opens the Search requester. Depending on which window was active at the time this menu item was selected, the Search scope may be different. Also offered is the opportunity to replace, and full project wide searches are possible.



Adjust certain aspects of the current project being worked on. This is covered in detail in the Project settings section.


blah Statistics...

View certain statistics about the current project. This includes the amount of files, lines and bytes.   The first part of this window gives you some general summaries about the project, while the latter part gives a more detailed overview of the specific sections.

If the project uses a repository, there will also be extra information shown here that will tell you when the last "GET" and "PUT" was performed. This can be done manually via the "Synchronize" menu, and if there has not been a "GET" within the last 7 days, you will be presented with the option to do that after the project loads.

The date of creation will be unknown for projects created with older versions of CodeBench as the required meta-data is missing from the project file.



"Touch"ing a file means that the datestamp of the file on disk will be set to the current date and time, which can be viewed from the file attributes window. You can choose to set the current file, open files or all files. This will usually cause the build system to recreate the object that this file would generate.


Add Files...

Add files to the project. This may be any type of file applicable to the project type. It is supported that you may specify the name of a file that does not exist yet, and this file will be created for you, then added to the project.


Remove File

This removes the currently selected file in the Project list. While it is removed from the project, the file is not deleted from disk.


Rename File...

This will rename the currently selected file in the Project list. A requester will be opened asking you for the new name. You can optionally supply a new path in this requester, effectively moving the file, with or without a different name. Once the change is confirmed, the project list will be updated to reflect these changes.



This menu has further options, as follows:

"Changed Only" - Perform a normal build, same as the Toolbar button.

"All (Forced)" - force the build program to rebuild the whole project.

"Clean" - Will attempt to delete all compiled objects, if any.

"Options" - Will invoke a requester asking for any parameters to be passed to the build program. in the context of the AmigaOS4SDK type of project, these options can be makefile rules, or any other parameters accepted by the Make program.

NOTE: These options may or may not be available depending on the project type.


Run Target Program Run

Functionally the same as the Toolbar button. The actual meaning of "Run" may be different depending on the project. For example, a C/C++ project will always run the compiled binary, a BASIC project may well run the interpreted script or a compiled binary depending on the settings or an HTML project may "run" the code by displaying it in your web browser. Running an executable can be done via the shell (and any arguments you want to supply) or via the Workbench.



Functionally the same as the Toolbar button, and will run the compiled program via the specified debugger.

NOTE: This option may or may not be available depending on project type.



Many different types of projects can be developed using a remote server as a host on which to keep the latest versions of the files in a project. An HTML project may, for example, want to "Put" changed files back to the web server, or a C/C++ project may use a file repository like CVS or SVN. In these cases, the project should be marked as such in the settings, and using this menu item will start the synchronizing process. You may also be requested to synchronize when closing the project if local files are newer then the last "PUT". "Plugins" are used to perform the required actions and if no such plugin is specified for this project, you will be prompted to choose the correct one. There is more information about the synchronizing plugins here.



This allows you to open a new console for your own use. The current directory of the shell will be automatically set to the project directory for you.

Here you may also define how and where you want shells to open. By selecting "Set Position/Size", a window will open that represents a new shell window. You may place this wherever you like and also set the size. Clicking the close gadget of this window will save the dimensions, and all subsequent shell window will appear at this location.


Open Project Notes file

This will open the dedicated scratchpad file for this project.

back to the top



Editor Menu

Editor Menus Create new file

This will open a new blank file. A header is created which includes some information about the project. This function is also mirrored in the Editor buttons.


Open file...

Load a file into the editor by selecting the file required from the resulting requester. This function is also mirrored in the Editor buttons.


Open a recent file...

When files that are not part of the current project are opened, they are added to a list of opened files. Selecting this item will reveal this list, and a file can be selected and opened in the editor. This works in exacly the same way as the recent project list.


Close current file

This has the same effect as clicking the close gadget of the editor window, or clicking the close gadget of the tab which represents the current file. Even though the file has been closed, it is still loaded as part of the project. Double-click it in the project list (or drag it into the editor) to reopen it.


Save file

This will save the current file back to disk. This function is also mirrored in the Editor buttons.


Save file as...

The current file will be saved to disk with the name supplied. Optionally the path can be changed if the file is required in a different location. This function does not affect the project as the new file will mirror the current not rename it.


Reload last saved

This function will reload the current file from disk losing any changes that may have been made.


Insert text...

Sometimes it might be useful to be able to insert the text from one file into another. Selecting this item will present a file requester, and a file may be chosen. All the text in this file will then be inserted into the current in the editor at the cursor position. No checks are performed for the integrity of the chosen file or its contents, but only ASCII characters will be inserted.


File Attributes File attributes...

This will display the attributes of the current file. From here you can adjust the protection bits as required. You may also invoke this window from both the Project popup and the Editor popup menus.



Printer Popup Menu This option works in two different ways:

  • The first way is to simply select this item, and the entire contents of the current file will be output to the printer.
  • The second way is to select a block of text, and you will then be presented with an option to only print the selected block, or the entire text. This allows you to print segments of text, rather than the entire file.
The printer device can be configured in the Preferences editor.


Check Spelling

This allows you to check the spelling of words within a document. This feature is covered in more detail in the Spell Checking section.



Remove the marked block of text and place it in the clipboard. This function is mirrored in the Editor buttons and the Editor popup menu.



Duplicate the marked block of text in the clipboard. This function is mirrored in the Editor buttons and the Editor popup menu.



Copy the contents of the clipboard at the current cursor position. This function is mirrored in the Editor buttons and the Editor popup menu.


Select all

This item will select all text in the current file, which may then be copied or even cut.



Revert the last change made to the text.



If a change was reverted, it may be possible to carry out the change again.


Jump to matching

If the cursor is positioned at a character that marks a "scope" like brackets and braces, selecting this menu will cause the cursor to jump to its counterpart. This makes it very easy to follow where blocks of code begin and end. This option is also available from the Editor popup menu.


Indent marked

All lines in the currently marked text block will be shifted a tab size amount of characters to the right.


Outdent marked

All lines in the currently marked block will be shifted a tab size amount of characters to the left, if possible.


Convert TABs to spaces

This is a "one-shot" operation for those that don't like tabulations in their code. It simply converts all tabulations in the file to the number of spaces specified. The width of a tabulation can be set from the Project settings window.


Marked to upper case

After marking a block of text, selecting this item will convert the selected text to upper case letters.


Marked to lower case

After marking a block of text, selecting this item will convert the selected text to lower case letters.



Open the Search window and find a specified string of characters in the current file. This function is mirrored in the Editor buttons and the Editor popup menu.


Goto line...

Specify a line that the cursor should be moved to in the current file. This function is mirrored in the Editor buttons.


Goto open file...

This menu item will open a requester showing all files that are currently open in the editor. A file can then be selected by double-clicking the name to jump to that file. Keyboard navigation is also possible and offers a way to jump between files easily from the keyboard.


Goto function...

The currently marked block is treated as a function name. The entire project is searched for this function, and if found, will cause the file containing it to become current. The cursor will be moved to the first line of that function. This is also possible by holding down either "Shift" key while double-clicking to highlight the block that represents a local function.


Find function...

Specify a function name to search for. If found, the file containing that function is made current, and the cursor moved to the first line of that function. This search is case-sensitive.


back to the top



Windows Menu

Windows Menu The numbered items in this menu corresponds to one of the component windows. If the window has been hidden or iconified, it will be opened. If the window is open, selecting the relevant menu item will bring that window to the front of the display.


Close Active

Offers an easy way to close whichever window is currently active.

back to the top



Preferences menu


Preferences Menu Edit...

Invoke the preferences editor and adjust various parameters of CodeBench


Snapshot windows

Save the window positions to disk so that their positions are made permanent

back to the top

Valid XHTML 1.0 Transitional This is a W3C checked and compliant webpage.