Wednesday, 3 October 2012

Programming VisualStudio in real-time using C# REPL (do other IDEs also support this?)

The recently published O2 VisualStudio Extension provides a REPL environment inside VisualStudio (namely a C# REPL Environment with a Fluent API for .NET and VisualStudio)

In practice this means that in addition to being able to write and execute quick C# snippets (in a REPL environment), I can program VisualStudio IDE in real time! See this VisualStudio C# REPL page or this Reddit thread for code samples.

This makes a massive difference when developing/extending an IDE since there is no 'code+compile+execute' loop (which can take minutes). There is only a real-time REPL (Read Excecute Print Loop) directly on the IDE.

I believe this is the first real-time IDE coding in VisualStudio (at least without starting VS in a special experimental mode), so my question is:

Is there something equal or similar for other IDEs?

Namely for Eclipse?

Part of the reason I'm asking this question, is that I created the TeamMentor VisualStudio with CatNet using this VisualStudio C# REPL Extension (by coding the Cat.NET scanner integration with TeamMentor in real-time in the IDE), and I need to create a similar extensions for a number of other IDEs (and for example, don't really want to go through the pain of writing an Eclipse plug-in using the current documented/recommended process (see Your First Plug-in Developing the Eclipse "Hello World" plug-in for an example))

Just to clarify what I mean by real-time coding on the IDE, the script below will be compiled and executed direcly on VisualStudio (the IDE),  from an VisualStudio panel window and will change the VisualStudio state/GUI: