SharpDevelop vs. MonoDevelop vs. VisualStudio

(Steve Baer) #24

Just use Visual Studio. I recommend this for both beginners and pros.

1 Like

(Nathan 'jesterKing' Letwory) #25

Visual Studio pros:

  • complete IDE with proper debugging, intellisense and code completion
  • good integration with Rhino through templates/wizard

Visual Studio cons:

  • none

SharpDevelop pros:

  • … ?

SharpDevelop cons:

  • no integration with wizard/templates

MonoDevelop pros:

  • … ?

MonoDevelop cons:

  • probably same as SharpDevelop

Visual Studio Code pros:

  • light

Visual Studio Code cons:

  • no .NET framework debugging
  • .NET Core mainly
  • further like SharpDevelop/MonoDevelop

Emacs/Vim pros

  • …?
  • high geek factor

Emacs/Vim cons

  • high geek factor


  • really?


:wink: Notpad++



How about ReSharper?

PyCharm’s interface is pretty nice

1 Like

(Graham) #28

Some meaningless stats :

87,317 responses; select all that apply




if you leave only csharp in there VS will be with 80% probably

But the thing is, these are recommendations from a “seasoned” programmer. Their base of comparison is easy/quick/with less user interaction. Not particularly a learning environment material.

There is probably a difference between the community edition and the pro edition of VS.



All our developers use Visual Studio and it’s working fine. Start-up time is okay(dev machines should have 32 or 64gb of ram), the debugging is really helpful so are plenty of other features on the full studio enviroment.
Also really easy for beginners to RhinoCommon aswell to C# but then again, where else to learn than in one if not the best IDE on the market from the creators of C#.

1 Like


:thinking: 32-64 gigs that is tough for beginners.

Writing ASCII files that requires a better machine than one required to run AAA video games?


(Nathan 'jesterKing' Letwory) #32


I am aware of the popularity graph. But popularity alone is not that much of a pro if it makes developing hard. And in the case of this thread it is about developing Rhino plug-ins.

Mind you, I wouldn’t mind using Visual Studio Code for Rhino plug-in development, but I haven’t wanted to jump into just yet.

I already use Visual Studio Code for things like import_3dm and and some surfacing tools for Blender using Rhino Compute.



That is not comparable. Gaming and developing are two things, but as John Romero stated: “always develop on a better system than the one you are aminig for.”

Your cpu is quite old, there are faster cpus on the market. If you don’t want to spend more, just accept the slightly higher loading times. Don’t cut back on your IDE just because you get bored. Also, use a SSD if you don’t already do.

1 Like


That’s a nice tutorial, I have VScode portable setup in the cloud. I’ll give this a try.


(Graham) #35

Yes sorry I’ve updated my post :slight_smile:

1 Like


Yeah, I know. I am stuck with it for the time being, because my motherboard supports only 1151 socket CPUs. I even have 2x16 DDR4 ram unused still in the package, but I cannot put them with my antique motherboard :stuck_out_tongue: I feel the big upgrade is imminent. Sooner than I thought.


(Steve Baer) #37

I have 16gb on my laptop that I compile the entire Rhino source code on every day. Just use Visual Studio and don’t fret the other options. I also rarely restart VS and leave it open on my computer so I don’t really notice the start up time. Installing a bunch of extra components will have an effect on start time.



That gives the advice X times more weight.

But guess what? I also started using VS about two years ago. It really looked messy. But I remember it clearly, so please listen to my advice; Don’t look into all that messy stuff. Only try to get basic things done to start with.

About the complexity of a VS project - don’t bother. To start with. Focus on one and only exactly one file in the entire project structure - the .cs file (the plugin template).

If the ///<summary> stuff makes you feel dizzy, erase all those comments (that’s what I do). But you can read them once before erasing them). I know, I took me a while to get used to those comments too (very ugly, painful on my eastetic eyes…) but what can you do? Scrap it., Delete. Clean up and keep only the meat.

Disregard everything you don’t need at the moment. After a while - after befrieding yourself with duckduckgo, which also is my choice (google, no no) - you will GRADUALLY leartn what all the messy stuff is good for (a zillion different things, so please, disregard it for now, except for the cs file).

// Rolf

1 Like

(Nathan 'jesterKing' Letwory) #39

Note though that these “special” comment blocks give you nice intellisense documentation…



Yes. But there are two things here - Ivelin (Yeah @ivelin.peychev… you’re cool) and the fact that after two years I tend not to look at the intellisense info for the template methods… :wink:

But I do write my summaries for my own additional methods, yes I do. Ivelin will too, within a year or two. :sunglasses:

// Rolf

1 Like


I am still anti-csharp guy :stuck_out_tongue_winking_eye: , the problem is McNeel can’t or don’t want to support python-only plugins for Rhino.

For starters I’ll try to mix-em-up. Csharp + Python in the same plugin. Then will see.

Thanks all for the helpful notes @RIL, @nathanletwory, @stevebaer @AndersDeleuran @Dancergraham, @rgr.

I hope I didn’t miss anyone. :slight_smile:

1 Like

(Nathan 'jesterKing' Letwory) #42

1 Like

(jmv) #43

I was a little like you for a long time with CSharp, and in general with Microsoft technology.
But with (or because of) Rhino, I had to learn csharp. I would like to try to reassure you.
Yes, VS projects are heavier than a simple Python file (And you are not yet in the debugging stage, where you will have to restart Rhino each time.) But you will see this language is really impressive when you start to understand it a bit.

Like other people, use Visual Studio. Like RIL, do not worry about what you do not understand.
Overall, after creating a new Rhino project, you only have 2 files that interest you.
The [...]Plugin.cs file and the [...]Command.cs file.