For a while now I have been working on an application called IronEditor, this is a simple application designed to make it easier to pick up and start coding against the DLR based languages. By taking advantage of the DLR’s Hosting API, the application can execute code for any language built on top of the DLR platform.
The project is hosted at CodePlex, along with all of the source code.
Out of the box, the application works with IronRuby and IronPython, however one of the main aims of the application is to allow other languages to be easily embedded into the application.
The reason why I decided to build this is because Visual Studio Integration for the languages is a long way off and while playing around and creating code to use the languages is painful via the provided console applications. As such, the aim of the application is to provide a very lightweight way to edit and execute code, great while learning the languages and giving demos (I used this application for my NxtGenUG Oxford DLR session).
One of the items I’m really pleased about is the fact that the application works on Mono (Tested only on Ubuntu 8.04 and Mono 1.9.1), something which will definitely not be possible with the Visual Studio integration.
To run the application, you will need to ensure you have Mono installed on your machine. Download the application and extract the zip into a directory. Then enter the command:
You will then have the same application, same binaries everything working on Mono. The only difference is that syntax highlighting for IronPython doesn’t work at the moment.
I admit, at the moment the application is very basic. However, over the next few weeks and months I will build new features into the application to make it easier to start playing around with the DLR languages.
Executing IronRuby and IronPython Code
1) Start the application
2) File > New Project
3) From the drop down, select your language
4) Type some code (print ‘Hello World’ is always good)
5) Press the green arrow, or hit F5. Code is executed and the output is wrote to the Output Window.
Very quick and easy I think!
There are some very big limitations and bugs within the application, but I’m going for the ‘Release Early, Release Often’ approach. Various items could be improved, for example Ruby doesn’t have any syntax highlighting but this will come in time. There are some other much larger features I want to implement, keep an eye on the blog for more information as and when. Over the next few weeks I will also be blogging about the implementation of IronEditor and how it uses the DLR Hosting API.
Any feedback is most welcome!
NOTE: As I mentioned this is a very early, it hasn’t had a great deal of testing. Please don’t use it on your production code base just yet! I wanted to get a release out for some initial feedback, if it causes everything to go wrong – I’m very sorry!