C# Scripting IDE (editor / debugger) for app extensibility?

SyntaxEditor for Windows Forms Forum

Posted 16 years ago by Stephen Turner
Version: 4.0.0262

I would like to add scripting / macros / custom user code functionality to my current project, a financial markets analysis tool.

I envision my application having a pane in which the user could interactively edit / execute / debug their custom code (C#, VB, etc.). This code would leveraged my application’s exposed object model (providing time series data of price / volume, etc.) to extend the application’s built-in features with new statistical calculations, graphical indicators and buy / sell signals.

Doubtless you will have heard of VBA (Visual Basic for Applications) used in the Microsoft Office, and the .NET successor VSTA (Visual Studio Tools for Applications), both of which Microsoft licenses to ISVs through Summit Software (http://summsoft.com). While VSTA may provide all that I need, I see it as quite heavy for my requirements – a full blown IDE (integrated development environment) with designers and life-cycle management.

Another possibility is SharpDevelop (http://www.icsharpcode.net/OpenSource/SD), an “Open Source Development Environment for .NET”. This offers a soup to nuts feature list, so again a bit heavy for my needs. (I also have preference for a commercially supported product)

What I am really looking for is a code-focused IDE which could be embedded within the UI of my application. In a perfect world this would SyntaxEditor with the added functionality of compilation, execution and debugging – a very light Visual Studio Express wrapped in a Windows Forms control. Support for the DLR (Dynamic Language Runtime, http://en.wikipedia.org/wiki/Dynamic_Language_Runtime), would be icing on the cake.

Any ideas?

Kind regards,

Stephen Turner

Comments (4)

Posted 16 years ago by Actipro Software Support - Cleveland, OH, USA
Hi Stephen,

We have several SyntaxEditor customers who have made products that sound somewhat similar to your application. I'm not sure how far they took it but they used SyntaxEditor with the .NET Languages Add-on.

As far as compilation, we don't do anything with that however you can take compilation results you get from calling the compiler yourself and add span indicators to SyntaxEditor to show compilation errors (wave lines, etc.) to the end user.

We also don't interact with the debugger directly but again here if you do add such functionality, you can use span indicators to show the current line, etc.

Also if you come across useful code snippets for doing some integration with the compiler or debugger, send us a link. We're always interested in enhancing our products. Some of that may be outside the scope of the SyntaxEditor control but we can have a look anyhow.

Actipro Software Support

Posted 16 years ago by Erel Uziel
We at Anywhere Software use the SyntaxEditor control as the IDE for our language, Basic4ppc.
The language is similar (simpler model) to Visual Basic 6.

It is written in managed code (C#) and it includes both an interpreter and a compiler.
As this is a .Net application (supporting the full framework and the compact framework), it shouldn't be too hard to implement it in other applications.

Please contact me if you are interested in any more details:

Regards and a happy new year,
Erel Uziel
Anywhere Software

[Modified at 12/25/2007 12:54 AM]
Posted 16 years ago by Azeet K Cheebrolu
I am interested to know how to integrate the intrepeter/compiler aand debugger for Lua in our own custom .NET application.we are also planning to use syntaxeditor for the editor component.
can you please help.We need some directions on how to provide compiler/debugger in our own application.
Thank you very much.
Posted 16 years ago by Actipro Software Support - Cleveland, OH, USA
Hi Azeet,

We're not familiar with how the compiler/debugger for Lua is implemented so unfortunately we don't have any advice for you. However if you are able to track things like breakpoints, current executing line, etc., you can use span indicators to reflect those in the UI as mentioned above. Span indicators are described in the documentation and are demoed in the sample project QuickStarts.

Also if your compiler gives error messages, you could call it in a method like PerformSemanticParse and use span indicators to add wave line spans for code compilation errors.

Actipro Software Support

The latest build of this product (v24.1.0) was released 4 months ago, which was after the last post in this thread.

Add Comment

Please log in to a validated account to post comments.