dutt
dutt

Reputation: 8209

Moving development from Windows to Linux

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#.

Upvotes: 12

Views: 2032

Answers (10)

Richard Corden
Richard Corden

Reputation: 21721

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!

Upvotes: 1

rpg
rpg

Reputation: 7777

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.

Upvotes: 1

Norman Ramsey
Norman Ramsey

Reputation: 202465

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.

Upvotes: 1

trampster
trampster

Reputation: 8898

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.

Upvotes: 1

Henri
Henri

Reputation: 5103

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.

Upvotes: 6

3Dave
3Dave

Reputation: 29041

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

Upvotes: 0

Nick Jurista
Nick Jurista

Reputation: 1434

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

Upvotes: 6

JohnC
JohnC

Reputation: 340

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.

Upvotes: 8

Vinko Vrsalovic
Vinko Vrsalovic

Reputation: 340151

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

Upvotes: 1

Mike Valstar
Mike Valstar

Reputation: 3519

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

Upvotes: 17

Related Questions