tags:

views:

231

answers:

8

How feasible is it to use Eclipse to develop .NET applications? Is it best just to go with Visual Studio?

Update: I am not especially concerned with the cost and I am using Windows, not linux. I am mostly trying to avoid having to use two different IDEs.

Another way of asking this question is "are there any good Eclipse plugins for doing .NET development". Unfortunately, the answer appears to be "no".

+10  A: 

You can get a free version of Visual Studio (Express); that's probably a better way to go than Eclipse.

Robert Harvey
A: 

You might find this thread interesting and useful:

http://forums.whirlpool.net.au/forum-replies-archive.cfm/425594.html
Randy Minder
A: 

If you are looking for a free IDE, you might look at the Express versions of Visual Studio, or the open source SharpDevelop project.

Daniel Plaisted
A: 

It's important to remember that .Net and Visual Studio are very much developed together to work best together. If you can go with the express edition of visual studio, you should. Anything else doesn't really give you what you need to accurately evaluate just .Net as a platform.

That said, I can understand a developer used to Eclipse not wanting to install a separate IDE just to try out .Net. You might even normally run linux. With that in mind, a quick google search for mono eclipse turned up several promising results. You could also try Monodevelop directly.

Joel Coehoorn
What do I need to accurately just .Net as a platform?
Ken
@Ken - sorry, was missing a word. should have read "accurate _evaluate_ .net as a platform"
Joel Coehoorn
OK, what do I need to accurately evaluate .Net as a platform? (I wasn't actually trying to pick on your grammar!) I've seen people write code for .NET in Emacs, VIM, and VS, and the VS people didn't seem to be any more productive or even any happier. I don't get why so many respondents here think VS is necessary. You made the strongest-sounding claim, so I'm putting it to you. :-)
Ken
A: 

It's very feasible. All the .NET compilers are standard stdin/stdout console apps that can easily be plugged in to most modern IDEs like Eclipse. You can even use the console app msbuild.exe if you want to use MSBuild (*.sln, *.csproj, etc.) as your build/make system. So if you're most comfortable working in Eclipse, I wouldn't hesitate to give it a shot.

A few Visual Studio features you may miss are:

  • Integrated debugging.
  • Excellent Intellisense support.
  • GUI designers. (For WPF, Silverlight, web apps, and WinForms.)

So if any of those are of high importance to you, then it may be worth using Visual Studio.

And there's nothing wrong with splitting time between Visual Studio and Eclipse. For example, you may decide to prototype and debug in Visual Studio, but do your core development work in Eclipse.

C. Dragon 76
Of course there is nothing wrong with using two IDEs. It is just annoying to have to do so.
Christopher Barber
A: 

To answer you question, take a look at the Improve plugin for Eclipse.

This topic covers your question as well.

Justin
+1  A: 

I've only used Eclipse once, for a few minutes, back when a 900MHz CPU was top-of-the-line. So I don't claim to know what it does or how well it does it.

That said, I see no problem at all with using a non-VS dev environment. Almost every C# developer at my company uses Emacs (there's also a VIM minority). We've got C# modes, we've got jump to definition, block folding, compilation modes, etc., all from our "editors". (I hesitate to use that word since I can't see a clear distinction between "editor" and "IDE".) There's not much special that VS can do that other environments can't, and 10+ years of experience and configuration easily trumps that.

The one thing special I can think of is the debugger: VS2005 had a standalone debugger, and VS2010 it's only available as part of the IDE (with a few new features), but that's it. But you can still launch VS2010 and connect to a running process just fine, even if you aren't otherwise using VS2010 for anything. The net effect of the slightly awkward debugger situation is mostly that I write more unit tests, and nobody seems to be complaining about that.

One thing that people like to bring up is "Intellisense". I've used VS in the past, and used Intellisense, and it's neat, but then I missed dynamic-abbrevs. Today I use Emacs and use dynamic-abbrevs and rarely miss Intellisense. I think dynamic-abbrevs are more useful once you know the language/stdlib you're working with. But I certainly don't think anybody has a monopoly on a One True Way to do code completion. Both are useful.

VS seems to do best the more you live only in Microsoft's world: .NET, TFS, etc. If you're using Microsoft-everything all the way down, it's probably pretty good, but the further you step away from that, the worse it gets. A more general environment like Emacs provides very good support for all kinds of things. (e.g., Do you want to learn a new UI when your next project uses a different VCS, or scripting language? The cost of that is only zero if your knowledge is worthless.)

So use whatever makes you productive, and don't let anyone tell you that you need Visual Studio Express to write a C# program.

Ken
A: 

Imagine that when you were doing work in Unix and you were using Visual Studio to do your coding. You have to upload your files to Unix to get it compiled and linked. If there is any error, you have to fix it in your PC and then repeat the process. How productive would you be? I know this is the reverse extreme comparison but one has to think of using the most appropriate tool for your team. :p

The other consideration you should make is that when you go to a client or your colleague, do you expect that he or she has Eclipse installed in his/her environment?

Does this help you make a decision? My 2 cents.

Cheers

Syd
You can run Eclipse on linux or Windows, so it is an obvious choice for cross-platform development. I assume that Visual Studio only runs on Windows.
Christopher Barber
@Chris, I presume that you have not have an indepth experience yet with VS. There are a lot of wizards that VS is giving to you for free: like refactoring, the Unit Test framework, the simple integration to your data sources, resolving your unknowns, code generation for your MVC projects to name a few. Sure, you may find similar plugins for Eclipse and if you are a die hard fan for Eclipse (or CodeWrite), it would be hard to convince you as using an editor is usually a very personal preference. My take: trial VS first and then you can compare the pros and cons.
Syd
My question was not whether VS is better than Eclipse for .NET development on Windows, but given that I already have to use Eclipse for other work whether it is feasible to use for .NET as well.
Christopher Barber
@Chris. Feasible to use Eclipse- - yes, productive? - maybe on the coding side (as you already have built up a lot of macros e.g), other development aspects? - you may lose out. For the same reasons, I use four tools - JDeveloper for Java development, VS for .NET development, vi and notepad for quick touch ups. Please remember what I have said before: editor is a very personal thing and most importantly my comments are just 2 cents. Good luck to your choice. :)
Syd