42

I have been developing in the windows space with Visual Studio for a while now with work, but I have also been using Ubuntu for a while and am keen to get into some software development for linux.

I should also note. I am not looking for .NET and I am aware of mono. I am also familiar with c++ development and some python, so the language isn't so much relevant as the "all in one" aspect.

I was interested to know if there is a useful all in one code/debug/design(gui) IDE similar to something like Visual Studio but for linux?

Jorge Castro
  • 73,717
Tim
  • 635

18 Answers18

38

In your comment you said you were more concerned about the "all in one" aspect, however if you want the best possible experience I think it's important to choose the right tool.

C++/Qt:
Qt Creator: A cross-platform integrated development environment (IDE) tailored to the needs of Qt developers. (I would recommend this option if you plan to be programming in C++).

enter image description here


Java:
Eclipse: This is pretty much the de facto Java IDE.

enter image description here


C#/.NET:
Mono: MonoDevelop is an IDE primarily designed for C# and other .NET languages.

enter image description here


My personal "IDE" is Gedit. It is minimal (similar to Notepad++ on Windows), but it gets the job done. It also supports plugins which can basically make it a true IDE. It supports most languages including C/C++, Java, C#, Python, Ruby, PHP, HTML, etc.

enter image description here


If you're using KDE as your desktop enviroment and don't want to run Gedit, you could also try Kate.

enter image description here

Zanna
  • 72,312
Kredns
  • 966
22

I don't have much experience with it myself (I personally like to work in gedit), but for the sake of completeness we really should mention Anjuta Install anjuta. It is part of the GNOME project, and includes many of the features you are interested in.

  • Focus on C/C++, but extensible with plugins. Some support for Python and Vala.

  • Integrated Glade user interface designer.

  • Version control integration with at least Git, CVS, and Subversion.

  • Project management and autotools support.

  • Integrated debugger including breakpoints, ect... Backed by gdb.

  • GTK+/GNOME Devhelp API help browser integration.

  • Valgrind plugin to profile programs for memory leaks.

anjuta

glade

12

I can't believe everyone's saying "use KDevelop" for C++.

In my experience, there is no better tool than Qt Creator.

It is:

  • Fast
  • Has a very flexible project manager
  • Can be used for any C++ project - even non-Qt ones
  • Has what I consider to be the best code-completion engine ever
  • Integrates very extensively with the Qt framework (which I really recommend)

Zanna
  • 72,312
Nathan Osman
  • 32,495
10

It depends on the programming language:

Java, PHP, C/C++, ... : Eclipse, NetBeans

C#: MonoDevelop

Toto
  • 767
6

Microsoft's Visual Studio Code is an Integrated Development Environment (IDE) with support for Mac, Linux and Windows.

Shoham
  • 171
6

Although other answers might suggest that MonoDevelop is only for C# development, it also handles C, C++, Python, Vala and Java. And Visual Basic, if that's what you're after :).

RAOF
  • 11,789
5

Mono is a mature and successful open-source implementation of the .Net framework and many .Net languages (C#, for example). If you know Visual Basic or C#, then you can code on Ubuntu (works even on Windows and Mac OSX) using MonoDevelop Install monodevelop << (Click this icon to install MonoDevelop). Its a nice and highly-featured IDE, and creates applications that look and feel native on Ubuntu (thanks to the use of GTK).

Bilal Akhtar
  • 2,998
4

You may also consider Lazarus which basically mimics Delphi type of application Development.

LFC_fan
  • 1,845
3

I haven't used it, but I've heard about Code::Blocks, which is also quite good. From forums I just read, it seems Code::Blocks might be just a little unstable. You might want to look at this thread at cplusplus.com. Just googling "kdevelop vs codeblocks" gives a bunch of results that compares the two as well as some others like Anjuta, Eclipse and NetBeans.

AniDev
  • 131
3

I use codelite, which is a rapidly growing IDE for C/C++. It is my favorite of the lot so far, eclipse being too restrictive, code::lite being bloated (in my opinion).

EDIT: I'd just like to add that it is clearly inspired by Visual Studio, so users of the VS tools should feel at home.

levesque
  • 4,572
3

Intellij IDEA community edition is also quite decent tool.

JtR
  • 131
2

MonoDevelop Download MonoDevelop is probably the closest match but you Mono isn't a "typical Linux" setting. Eclipse does provides something similar with Java (instead of .NET or Mono).

For something more traditional or purer, you might want to learn more about Perl or Python. Python is pretty simple but the closest you'll get to an IDE is the PyDev plugin for Eclipse.

The Linux build process is much more scripted and relies, on the whole, a lot less on IDEs.

Marco Ceppi
  • 48,827
Oli
  • 299,380
1

As mentioned in other answers, you can use Mono. But making cross platform applications using Mono requires attention, as you have to filter Windows specific libraries. So, before importing your project to Mono, check out the compatibility of the libraries you use.

Zanna
  • 72,312
user
  • 1,757
0

Also look at kBasic

stighy
  • 17
0

I use eclipse a lot. It was primarily developed for Java development but has a bunch of plugins that extend it to work with other languages.

0

You need to state what programming language you are interested in using because it makes a huge difference to the answer.

For c# development in linux use MonoDevelop

For Java development use eclipse

For c/c++ development use KDevelop

trampster
  • 11,792
0

Depending on what languages you are looking to delve into there are a few options.

BASIC: Gambas

Mono/C#: MonoDevelop

C/C++: KDevelop (sans GUI designing)

Casey Keller
  • 1,546
0

For Python development you can also use pIDA which embeds vim or emacs in a Python IDE.

sudo apt-get install pida

Or WingIDE, which is a commercial, closed source IDE with a limited version available for free (and the full version available for download to try it out for a couple of weeks).

For debugging compiled languages, you can also use the Nemiver debugging GUI if the editor/IDE you use doesn't have good enough debugging support

sudo apt-get install nemiver
Mark Kirby
  • 18,949
  • 19
  • 79
  • 116
JanC
  • 19,802