The Zeus Workspace is the collection of one or more projects, while a project is a collection of files and folders, with the folders also containing files and folders.
It can be thought of as a logical grouping of files and folders into projects, all of which are then contained in a single workspace. As shown above the Workspace menu menu can be used to:
- Create a workspace (i.e. the New, Import and Build options)
- Switch between workspace (i.e. the Open, Close and Workspace MRU list)
- Configure the workspace (i.e the Options menu used to configure things like build, tag and source control options)
- Build the workspace (i.e. run build tools as configure using the Options menu)
- Source Control (i.e. run source control commands as configure using the Options menu)
The easiest way to create a workspace is to use the Import menu item.
That menu item understands the solution file structures for several tools, for example Visual Studio and it will create a Zeus workspace based on the structure of that solution file.
The nice part about using the import method is the import will also import the build and source control configuration details meaning the build and source control options will work automatically.
However, it is also possible to manually create a workspace using the Workspace, New menu option which will display the following dialog: This dialog takes a workspace name and a root folder location where the workspace file is created.
This dialog operates in two modes:
1. Import Mode
This mode is selected using the Import directory structure option and is used to create a workspace based on the files and folders found at the root folder location.
The ignore fields can be used to control control the files and folders that are include in this import process.
This mode works well at creating a workspace spanning many folders where the folders are also heavily nested as the import will walk that folder structure and recreate it in the final workspace.
2. Manual Mode
This mode will not import any files into the workspace. It will just create a workspace that contains the folders as specified in the Folders entry field.
Once created files can then be added to the workspace by dragging and dropping files from Windows Explorer onto those folders or alternatively added to the workspace by right clicking on the workspace/project/folders elements found in the Workspace navigator panel as shown in the image above.
While the Zeus workspace might look like a file/folder structure similar to what is found in Windows Explorer it is important to note this similarity is only superficial.
At best the Zeus Workspace is a logical representation of that physical disk structure, but it is also possible to create a workspace structure which bares no resemblance to the physical disk.
For example it is possible to create a workspace where the same file is found in multiple locations in that one workspace, when it only exists in one location on the physical disk.
In addition, adding an removing files/folders inside a Zeus workspace makes zero changes to the physical disk, so deleting items in the workspace will not delete anything from the physical disk.
What are they good for?
There are many advantages to using a workspace including:
- Easy to group files and folders.
- Easy to switch between workspaces.
- The state of the editor can also be configure to be saved against the workspace which then means workspaces are switched details like open files and the state and file MRU menu are preserved.
- The ctags generation is done automatically for all files in the workspace and these details then show up in the Classes panel as seen in the image above.
- That ctags information then dives the code navigation and code searching features of the editor.
- The Macros menu has macros that allow searches to be run against all the files in the workspace (i.e. see the Macros, Search menu).