Go Down

Topic: .net based Arduino Sketch Editor (Read 20676 times) previous topic - next topic


May 20, 2009, 09:04 pm Last Edit: May 20, 2009, 09:12 pm by Curs0r Reason: 1
I've started a "small" project to build a sketch editor in c#. i will only work in Windows for now...
It's not ready yet for a download but i have some screenshots that i like to share with you.

I don't have much time for a project like this but I've managed to "convince" the company that i work for to sponsor it by letting me spend some hours a week in the project...  8-)

I will "opensource" it in the future... ( because of the sponsorship, some internal decisions have to be made...  ;) )

So, here are the screenshots:

I'am trying to make some sort of autocomplete (intellisence)  ::)

Can you give-me some opinions based on this (very very small amount of) information? :)


My opinion is "wow!". Good work!



When using visual basic (years ago, but getting back into it) i really like the popup menu with suggestions for what you are trying to write. Is this what i can see here? Looks very good anyway, keep us updated!


Great piece of work  :).

I look forward to using it when you release it.


Very much looking forward to this!


intellisense is a fantastic feature!  the one that would put it over the top for me would be step-through debugging.  I can see all kinds of problems implementing that though.


May 28, 2009, 08:02 am Last Edit: May 28, 2009, 08:04 am by pvercello Reason: 1
That's great.  Yeah, I use Visual Studio plus an add-in called Visual Assist for doing my sketches mostly for the intellisense, though also for the syntax coloring, refactoring functions, and auto-formatting.   It'd be great to have this in a simpler package.  

But it seems a shame to use C# for this and tie it down to one platform.  I suppose the .net framework makes it easier to get the UI, etc. going quickly.  Still, a lot of people use Windows, so it's probably worth it.

Good luck; I'm happy to beta test.



@Paul V.: couldn't this also run/be ported to Mono?


@Paul V.: couldn't this also run/be ported to Mono?

Theoretically yes, but it depends upon the version of .NET that was used, the amount Windows specific code used (Win32 API calls, COM objects, hard coded paths, UI methods, registry, etc).

As long as those types of things are not used, or segregated into libraries that can be replaced with mono compatible versions, then it is possible to either run directly on mono, or quickly port the app.


> Mono

Interesting; I hadn't heard of it until now.  Looks promising.  Looks like as long as you don't use the .net 3.0 api's, porting should be straightforward.

That's good to know about.



Just a screen shot of the current work.

Mark Bramwell

The intellisense looks good.  My question would be about extra libraries or imported routines.  Does your code have some method to determine the correct syntax/options on imported libs?  Or if I have created a function in the same file and try to use that function, do the options come up?

Perhaps now is the time to talk about self-documenting code.  Where comments in the function are used by the editor to display 'sensed' options.

How did you implement the intellisense?  Is it hard coded into the program or is there a config file with all options?  When the arduino guys add a new command or function, how hard is it to add it to your library?

Also remember that the entire gcc library is available in an arduino sketch.


Jun 01, 2009, 12:41 am Last Edit: Jun 01, 2009, 04:23 am by Curs0r Reason: 1
some replys:

yes thats a popup menu with suggestions for what you are trying to write

i think that for step-through debugging i have some problems:

  1 - i may try and use an integration with gdb/Simulavr - i think Simulavr is outdated and updating it is not simple... (gdb with an emulator?)  
  2 - writing a simulator from scratch is a very hard work...
  3 - Integration with the simulator in avr-studio? i don't know if the sdk from Atmel allows this... maybe i can try an contact Atmel on the subject and see if I can get any response...  ;D

  Can anyone help give some opinions about this?

  So, Maybe in the future step-through debugging will be possible...

Paul V.:
I didn't know Visual Assist (Opps)

Robert Lee:
well my code is portable but i have to see if any of the components use some kind pinvoke thats w32 expecific... (i will run moma and see the results)

thanks for all the nice words...


Jun 01, 2009, 12:47 am Last Edit: Jun 01, 2009, 03:16 am by Curs0r Reason: 1
Mark Bramwell:

I use ctags for parsing and generating information for intellisence from the libraries header files.
Because of scopes for the code being written in the current sketch (project) an internal parser is used. this is still being worked on
(ctags just reads globals, classes, etc...)


Go Up