SharpDevelop vs. MonoDevelop vs. VisualStudio

windows
(Nathan 'jesterKing' Letwory) #21

Anyway, to get back to the original question:

You can use any tool you feel comfortable with and you can create the necessary compiled RHP with. As I already mentioned you just need to:

  1. reference the right assemblies (RhinoCommon stuff, Eto stuff if you do that, System)
  2. type your code
  3. compile your code with whatever tool you have at your disposal (NAnt, CMake generated project files, devenv.exe, MSBuild, etc)
  4. ensure the resulting DLL is renamed with .rhp as the extension
  5. distribute
  6. world domination

Really points 1 and 3 is however it is done with whatever toolset you choose. As long as you can compile your .NET code into CLR-compatilbe assembly you’re set.

1 Like
(Steve Baer) #22

Use Visual Studio.

3 Likes
(IVELIN PEYCHEV) #23

Hi @stevebaer, @nathanletwory,

I was looking more of Pros and Cons. And which one is recommended for beginners to understand the whole process. Not which one will do more instead of me, making me a robot not understanding why I do a certain thing.
I have no doubt VS is the most powerful, after all it’s MS product just like C#, dotnet.

I need a way to understand the need of all those menues and the architecture of a project.

Is it the same in all IDEs?

(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

Notepad

  • really?
3 Likes
(IVELIN PEYCHEV) #26

:wink: Notpad++

(IVELIN PEYCHEV) #27

How about ReSharper?

PyCharm’s interface is pretty nice

1 Like
(Graham) #28

Some meaningless stats : https://insights.stackoverflow.com/survey/2019#development-environments-and-tools


87,317 responses; select all that apply

(IVELIN PEYCHEV) #29

@Dancergraham,

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.

#30

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
(IVELIN PEYCHEV) #31

: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

@Dancergraham

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 https://stackoverflow.com/questions/47707095/visual-studio-code-for-net-framework#49824895 just yet.

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

#33

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
(IVELIN PEYCHEV) #34

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
(IVELIN PEYCHEV) #36

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.

2 Likes
#38

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…

#40

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