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.
Help...
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"...
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 is 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.
Quit...
Exit the program. This may display a confirmation requester depending on the current
preferences settings.
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.
Open...
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.
Import
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!
Snapshot
Allows certain information about the project files to be saved to disk.
Current cursor positions of all open files as well as other data will be saved allowing the project to be
loaded in the state of the last snapshot.
Link
Allows projects to be linked together. See here for more information.
Recent Projects...
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 thebutton).
The button will remove an entry from the list permanently in order to clean up the list.
Lastly, the 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.
Search...
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.
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.
Settings...
Adjust certain aspects of the current project being worked on. This is covered in detail in the
Project settings section.
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 "Synchronise" 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
"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.
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.
Make...
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.
"With 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
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.
To the right, we see the typical dialog for a C/C++ project target. If the target binary has an "icon", the
"Workbench" option will be available. If the Shell option is selected, you may supply arguments to pass to the
target by typing them into the "parameters" gadget. You may alternatively pick some files from a requester if
you wish to pass those as arguments.
Regardless of how or what you pass as arguments, they will be saved as part of the project history. What this means is
that they are saved and will be available by selecting the drop-down menu gadget to the left of the "parameters"
gadget. From here, you may pick any arguments that you may have passed previously, even in prior sessions. This saves
having to remember and type them in each time you wish to use them.
Debug
Functionally the same as the Toolbar button, and will run the compiled
program via the specifieddebugger.
NOTE: This option may or may not be available depending on project type.
Synchronise...
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.
Shell
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 in Workbench
This will open a Workbench window with the current projects directory displayed within it. This can be useful if you
wish to run a program from the project directory quickly and via its icon.
Open Project Notes file
This will open the dedicated scratchpad file for this project.
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.
Close all open files
Normally, files are closed by clicking the "close" gadget on the tab that represents the file. If
you wanted to close all the files, this could be very time consuming, so this item will do it for you. After closing
all open files, the editor window will also be closed, as there is noting to display.
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.
Save all files...
If the setting to automatically save files has been disabled, then
there is a good chance that there may be quite a few unsaved files within the project. Selecting this item will
save any files that have been modified and not yet stored on disk. This saves having to save each one manually.
Duplicate file...
This item allows you to create a duplicate of the current file with an alternate name or path. Unlike
Rename, this does not reassign the file within the project to the new name/path. You
may wish to use a file in a different project, for example, so by selecting this item, you can specify the path
and/or name in the file requester and have the file copied with these new details.
Reload last saved
This function will reload the current file from disk losing any changes that may have been made.
Restore file from backup
If you have the Create Backup setting enabled, selecting this menu item will restore the current text to the last
backed up version. This differs in usage from the Reload last saved
menu, in that selecting this item will restore to the version saved prior to the currently saved file.
Insert text from file...
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.
Touch File
"Touching" a file means to set the date and time of the file on the disk to the current
timestamp. This can be useful for automated build systems that use the timestamp of the file to
check if the source needs to be built.
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.
Hide foldable sections for this file
This item mirrors the button in the Editor window, and controls whether to
show sections of code that can be folded or not.
Print
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.
Cut
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.
Copy
Duplicate the marked block of text in the clipboard. This function is mirrored in the
Editor buttons and the Editor popup menu.
Paste
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.
Undo
Revert the last change made to the text.
Redo
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.
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.
Find...
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.
Previous occurrence
If a search has been performed which resulted in more than one hit in the current file, this item will place the
cursor on the line of the previous occurrence of the searched string.
Next occurrence
If a search has been performed which resulted in more than one hit in the current file, this item will place the
cursor on the line of the next occurrence of the searched string.
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 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.
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.