I'm a Java dev and am currently contemplating writing a plugin for IntelliJ which would allow to write ST code in the IDE, and then compile and run in in an emulator that is shrink-wrapped into the plugin (for Windows, that would be Steem). This approach (building in the emulator) has various pros and cons. Basically, what it would do for building and running an ST program is
- Prepare the source files in a special directory structure that is configured as a drive in the emulator
- Run the emulator with a special autorun program which executes the assembler, linker etc. (that autorun program would be a precompiled GFA basic tool)
- The autorun tool would then create a special "signal" file once the building processes are complete, so that the IntelliJ IDE knows the job is done
- Then another instance of the emulator would be started with the freshly created binary
This is, in short, the basic principle. The advantage is that original build tools like Devpac could probably be used, so the build process itself would have maximal compatibility (compared to, for example, cross-compiling approaches). The obvious downside is that interactive debugging is not really possible with this approach. Still, working in a modern IDE could potentially allow to implement things like refactoring support, online help, organizing the resources of a project and defining / building MSA disk images etc. So I think there could still be a lot of benefit, but since that would also be a bigger project, it would be good to hear opinions of people who have maybe already done, or want to do some ST development.
What do you think? Does that make any sense?