Workspace commands
The Workspace menu holds commands you define for the open project -- build, clean, run, deploy, whatever the project needs. Picking one opens the Workspace terminal and runs it there.
Commands are per workspace, stored in <workspace>/.studio/menus.json,
so each project carries its own and they follow the folder rather
than the install.
Defining them
Workspace -> Edit menus... opens the editor. + Add menu appends an entry with three fields:
- Menu name -- what appears in the Workspace menu (e.g.
Make). - Command -- the command line to run (e.g.
make). It goes straight to the terminal: no shell expansion, no substitution. - Working dir -- relative to the workspace root, or absolute. Blank runs in the workspace root. Browse... picks a folder.
X Remove drops an entry, Save writes the file and rebuilds the menu immediately -- no restart.
Workspace templates
Workspace -> Apply workspace template... fills the menu from a
ready-made set instead of typing entries by hand. The picker lists
the templates that ship with the studio, plus any an installed
extension contributes. Applying one copies its commands into this
workspace's menus.json and rebuilds the menu.
The bundled C (GNU make) template, for instance, adds Make,
Clean and Run bound to the matching make targets; C (ADE) and
C (MorphOS SDK) do the same for those toolchains.
The same picker appears as Choose template... when you create a workspace, so a new folder can start with its commands already set up.
How commands run
Every command runs in the Workspace terminal panel, which opens if
it is not already up. Commands queue: one that arrives while
another is still running waits its turn and is shown as
[queued], rather than starting on top of the one in progress.
The stack given to each child is the CLI stack size in
Settings -> CLI, which matters on AmigaOS where a stack that is
too small corrupts memory instead of failing.
Commands from extensions
An extension can contribute menu entries of its own -- the compiler extensions add build and run entries this way. Those appear under the Extensions menu, not here, but they run in the same terminal and queue alongside these.