One of the included layers will specify an @MainSettings annotation to define a main method to run. This is usually in a framework layer one of your layers extends. Components can specify @MainInit or extend a framework class which has that annotation if they need to be initialized when the application is run.
Build all files: If you made small changes, you can turn this off for an incremental recompile, though beware that it is not yet reliable for more significant code changes.
'Require dynamic runtime' and 'Internal build' - are experimental options where the plugin does the code generation and compile steps itself. After processing and compiling the project, it runs 'scc' with the list of layers if either 'Require dynamic runtime' is set or a framework layer is used that requires the dynamic runtime (like the web framework currently). Otherwise, it could launch and debug the application without scc.
The default VM parameters include -Xmx1024m to allow for a large heap for Java. This is required because the launched program will compile the system if necessary before running the program in the same process. If your application does not use features of the dynamic runtime, it can generate a standalone jar file and customizable scripts and install environments. Features like data binding and components will depend upon either the coreRuntime or fullRuntime packages only.
Just like with Java, this creates a temporary run configuration you can then customize and save.
This module is replaced or updated each time.
The same key also goes back from the generated source to the original.
Single-stepping through code navigates to the source by default. To navigate by the generated source, choose 'Debug Generated Source' under the Run menu.
Because the generated source can look just like the original, it's easy to forget and try to change a generated file. To avoid this disasterous situation, these files are marked read-only. The editor won't allow it and the 'View generated source' shortcut quickly navigates to the right file to change. If this safeguard is defeated and a generated file is modified, on the next code generation renames the file, rather than replacing it. Look for a warning on the console.
Unfortunately, dynamic layers do not yet support source level debugging. If you need to set breakpoints, or single-step through code it's best to compile the layers with that code. This is not a large project to add but so far has not been a major obstacle. There's a lot of potential debugging options with a code-simulator built right on top of the AST.