12

I'm a longtime Visual Studio(from versions 6 to 2008) user that really like the editor and especially the debugger. Now I'm thinking of giving Linux a go, is there a IDE with similar, or better, capabilities out there?

I'm also interested in recommendations for GUI libraries, c++ or c#.

dutt
  • 7,909
  • 11
  • 52
  • 85
  • 1
    see this answer: http://stackoverflow.com/questions/1450810/linux-vs-windows-programming/1450853#1450853 –  Oct 27 '09 at 21:45
  • 1
    What is your reason for moving to Linux? – Steve S Oct 27 '09 at 22:01
  • 1
    One good reason to move to Linux as a development platform is to benefit from its powerful command-line interface and multiple (specialized) tools. Pick the editor of your choice, then compiler/linker, the debugger, etc. – Julien-L Oct 28 '09 at 15:04
  • @Julien: I guess that's what I'm getting at. If he wants to try Linux for the experience, then I would recommend that he avoid IDEs, because they don't fit in with the *nix way of doing things. If he has other reasons, then maybe an IDE makes more sense for him. – Steve S Oct 28 '09 at 20:35
  • I'm not particularly interested in coding the "purely linux" way. I'm more interesting in writing interesting programs for the platform. getting kind of tired of MS and windows. – dutt Nov 05 '09 at 14:29

10 Answers10

17

http://monodevelop.com/ would be your closest bet for an editor similar to visual studio

Mike Valstar
  • 3,499
  • 5
  • 24
  • 32
8

I would recommend Eclipse, it's quite similar to Visual studio in capabilities and can be extended with much more plugins than VS has to offer.

JohnC
  • 340
  • 1
  • 2
  • 7
6

I'd check out Mono. You shouldn't have to change too much from what you already do.

Nick Jurista
  • 1,423
  • 12
  • 15
6

Dont, just dont! I'm doing this now @ work since I have to and i tried, netbeans, kdevelop, eclipse. They're so basic compared to VS, especially if you're used to the more advanced features that you'll get crazy and desire visual studio back.

Henri
  • 5,065
  • 23
  • 24
  • 2
    I agree with this post. I've used almost all IDE's out there and they pale in comparison. For example, something REAL basic, in Eclipse during debugging using breakpoints it's dificult to see variable values easily like in VS. In Eclipse you have to open a frikkin "variables" tab. Are you kidding me? – Sergio Tapia Oct 27 '09 at 23:32
  • Well that's discouraging. I'm not interesting in configuring my system, i'm not interested in using fifteen tools. What I am interesting in is coding interesting applications. – dutt Nov 05 '09 at 14:32
  • I've also tried so many times to switch off from windows and vs.net to linux (i prefer this last for his leightweight)... but each time, after some hour, after trying eclipse, netbeans and monodevelop, i reopen my win partition with Visual studio. Monodevelop is the only who can "beat" vs, but it lose, for example on the asp.net visual editor.. I hope De Icaza's team will release it as soon as possible.. However They're doing a great job with mono and monodevelop ! – stighy Jun 13 '10 at 21:16
1

Eclipse is the only IDE out there supporting multiple languages which has a comparable power to Visual Studio.

Vinko Vrsalovic
  • 330,807
  • 53
  • 334
  • 373
1

If you are going to do c# development on linux I would recommend MonoDevelop. It is designed specifically for .net development (eclipse is not) and it is really quite full featured now, it includes a visual debuggers, code completion, graphical nunit integration and virtually everything else you would expect from a modern IDE. It includes some features missing from Visual Studio. I was excited just recently to discover I can right click on an interface and choose find all implementations, This is a feature not implemented in visual studio and which I find extremely helpful.

Regarding the GUI libaries, if you are using c# on linux then the best GUI framework is GTK#. MonoDevelop includes a built in graphical designer for it. Several mature and widely used linux applications use this including:

Banshee - music player

FSpot - photo manager (default in Ubuntu)

Tomboy - Notes application (default in gnome)

MonoDevelop - IDE (similar to Visual Studio)

GTK# is also cross platform and so can run on mac and windows as well. This is proved by its usage in MonoDevelop where it is used to run on linux, mac and windows.

trampster
  • 8,598
  • 4
  • 37
  • 52
1

I'm a Linux developer and I would kill (or at least maim) for a development environment approaching the sophistication of Visual Studio. But then Visual Studio doesn't support Lua or Haskell or ML, which are the major languages I use these days.

Like many others I find Eclipse too slow and lacking in functionality for languages that are not Java.

I do have two positive recommendations: for debugging C and C++ programs, the combination of valgrind (a memory debugger) and the Data Display Debugger (an interactive GUI debugger) make me about 5 times more productive in C than I used to be with just dbx or gdb.

Norman Ramsey
  • 198,648
  • 61
  • 360
  • 533
  • 1
    Visual Studio 2010 supports F# which is an ML dialect. – Nemanja Trifunovic Oct 28 '09 at 00:50
  • While I really admire the work that Don Syme and others have done on F#, and I look forward to it bringing functional programming to a wider audience, I view F# as a .NET language first and a functional language second. The work is brilliant and I would love to see some of the features backported to, say, Standard ML, but to me it definitely feels like a hybrid. But you're right, the VS support for F# is awesome---or at least it gives great demo. – Norman Ramsey Oct 29 '09 at 05:40
  • I have successfully used WingGDB to develop in visual studio on Linux. It sftps files over silently, and the debugging output from gdb is sent directly to the VS frontend (visualization, locals, breakpoints, etc). You'll go entire days without realizing you're on Linux. My productivity is easily 4 or 5 times greater. – Steve Jan 12 '13 at 23:24
1

Now I'm thinking of giving Linux a go, is there a IDE with similar, or better, capabilities out there?

I'm also interested in recommendations for GUI libraries, c++ or c#.

I only speak for C++:

  1. There are similar IDEs, but they are not as good as VS.
  2. The Qt framework includes the best C++ GUI library.

Do not even bother with Eclipse or MonoDevelop for C++, try KDevelop or QtCreator. The C++ debugging will be especially painful compared to what you've been used to.

Community
  • 1
  • 1
rpg
  • 7,746
  • 3
  • 38
  • 43
1

I moved from windows to linux 9 or so years ago after spending my initial career using Visual Studio.

The move was relatively easy as the build environment was first and foremost based on Makefiles. Up to this point I used scripts to create a visual studio project for the project each time there were changes.

At that time, the others in my team were using emacs. The learning curve is pretty steep when you come from something like VS, but IMHO it has been well worth the time I invested in it.

What sold me on emacs was the integration with gdb. Emacs has a mode specifically for gdb. Once this mode is started you can enable 'gdb-many-windows'. This gives you a view very similar to that of any debuger environment. Also, one of the first things that I did after moving was to setup the VS key shortcuts. So even after all this time, I have the following in my .emacs file:

(global-set-key [f7] 'compile)             ;; asks for a command to run eg: make
(global-set-key [f4] 'next-error)          ;; show the next error
(global-set-key [S-f4] 'previous-error)    ;; show the previous error

(global-set-key [f5] 'gdb)                   ;; start the debugger   
(add-hook 'gud-mode-hook                     ;; allows changes to debugger mode
          '(lambda ()
             (define-key (current-local-map)
               [f10]
               'gud-next)                    ;; F10 does step over
             (define-key (current-local-map)
               [f11]
               'gud-step)                    ;; F11 does step into
             (define-key (current-local-map)
               [\S-f11]
               'gud-finish)                  ;; Shift+F11 finish function
             (define-key (current-local-map)
               [f5]
               'gud-cont)                    ;; F5 does continue.
             (gdb-many-windows t)))          ;; Set's up a debugger type view

If you haven't used emacs before, then the first thing you need to know is that you type: Ctrl+X Ctrl+C to exit emacs.

If you do decide to give it a go, after loading it up use Ctrl-H then 't'. This starts the emacs tutorial which will give you the basics.

Of course, if you get stuck, then just review or ask a SO question tagged with emacs. This has become a really could source of information for emacs use. I only found out about gdb-many-windows this April from this question!

Community
  • 1
  • 1
Richard Corden
  • 21,389
  • 8
  • 58
  • 85
0

monodevelop. Also #Develop is pretty nice - fast, though missing some features, and only supports C# (Mono or .NET)

3Dave
  • 28,657
  • 18
  • 88
  • 151
  • I'm sure #Develop is great but the question was about IDEs which run on linux, unfortunitly #Develop does not. – trampster Oct 27 '09 at 22:01