# What IDEs are available for Ubuntu? [closed]

This question exists because it has historical significance, but it is not considered a good, on-topic question for this site, so please do not use it as evidence that you can ask similar questions here. See the FAQ for more information.

This is a community wiki for IDEs available on Ubuntu. Please post one IDE per answer (including more than just a screenshot or a link, please at least put a short description).

In your answer, tell us what the IDE is for (which language(s) or if it is RAD capable).

## closed as too broad by Seth♦, Eric Carvalho, Braiam, BuZZ-dEE, LucioJan 19 '14 at 1:22

Please edit the question to limit it to a specific problem with enough detail to identify an adequate answer. Avoid asking multiple distinct questions at once. See the How to Ask page for help clarifying this question. If this question can be reworded to fit the rules in the help center, please edit the question.

• This seems like an overly broad topic. My answer would be: Software Center > Development – Marco Ceppi Jun 12 '11 at 4:46
• @Marco Ceppi: Some IDEs like Val(a)IDE are not available in Software Center. Also, here people can tell pros and cons about their favorite software. – kv1dr Jun 12 '11 at 10:27
• @Marco Ceppi this is why I asked for it to be a community wiki :) – RolandiXor Jun 12 '11 at 12:41
• Just because it's a CW doesn't make it a good question. I'll wait for the rest of the community to weigh in. Possible Duplicate – Marco Ceppi Jun 12 '11 at 12:54
• That's not a duplicate. He asked for something that can do python, this is (yes broad in terms of any language) - but then to be fair we would have to delete the list of indicators too. – RolandiXor Jun 12 '11 at 18:52

# Geany

[Geany] is a text editor using the GTK2 toolkit with basic features of an integrated development environment. It was developed to provide a small and fast IDE, which has only a few dependencies from other packages. It supports many filetypes and has some nice features. My favorite so far.

Supported File Types

• Does it have syntax checking? Code auto-completion? Why has it been accepted as best answer? This is a community wiki, it doesn't make sense to put Geany as the best editor just because the author thought so. It's just an (his) opinion. – Alba Mendez Aug 19 '12 at 17:31
• Besides, the community voted Netbeans more than Geany. – Alba Mendez Aug 19 '12 at 17:33
• Think of Geany as the Notepad++ of Ubuntu – kiri Aug 22 '15 at 6:29

# Eclipse

Personally, I use Eclipse for Java, C and Python.

Quoting from Wikipedia:

It is written mostly in Java and can be used to develop applications in Java and, by means of various plug-ins, other programming languages including Ada, C, C++, COBOL, Perl, PHP, Python, R. Ruby (including Ruby on Rails framework), Scala, Clojure, and Scheme. It can also be used to develop packages for the software Mathematica. The IDE is often called Eclipse ADT (Ada Development Toolkit) for Ada, Eclipse CDT for C/C++, Eclipse JDT for Java, and Eclipse PDT for PHP.

• Eclipse is recommended and supported for Android development. – bgvaughan Jun 12 '11 at 12:10
• I use Eclipse for Java/Swing development. I use it for Ruby on Rails and Wordpress Development. And I use it to create small C programs as well. And of course I use it for Android development as well. Nothing beats Eclipse, whether you are on Windows, Mac, or Linux. Eclipse blows everything else out of the water. – JohnMerlino Jun 28 '14 at 19:30
• The C++ compatibility of Eclipse is highly limited in Ubuntu - it needs heavy reconfiguration to make it work for C++, but it works with Java out of the box. It also can't find C++ libraries. – Thomas Ward Oct 2 '15 at 17:16
• Unfortunately Eclipse is no longer the recommended IDE for Android, as it has been replaced by Android Studio. The plugin is no longer maintained. I doubt that it will work with latest version of the Android SDK. – NickT May 9 '16 at 9:29

# NetBeans

It supports quite a few languages, web services and databases. RAD is definitely supported for Swing components. Just have got to draw the boxes required and then double click on a segment to write its code. The interface is easy to use and is pretty intuitive. Nothing that puzzles you or anything. Also there are a lot of plugins you can choose from too. It's a power-packed IDE, and it's more fun when you use it. Loads of cool features which you just can't type it out, but have to try it out to experience the fun :)

Supported technologies:

Java EE 6, Java EE 5 and Java EE 1.4
Java ME SDK 3.0
Java Card 3 SDK
Struts 1.3.8
Spring 3.0, 2.5
Hibernate 3.2.5
Java API for RESTful Web Services (JAX-RS) 1.1
Java Wireless Toolkit 2.5.2 for CLDC
Issue Tracking
Bugzilla 3.4 and earlier
Jira 3.4 and earlier
C/C++/Fortran

PHP 5.3, 5.2, 5.1
Groovy 1.6.4
Grails 1.1
Apache Ant 1.8.1
Apache Maven 2.2.1 or later
VCS
CVS: 1.11.x, 1.12.x
Subversion: 1.5.x, 1.6.x
Mercurial: 1.5
ClearCase V7.0
Git 1.7.х


Tested application servers:

GlassFish Server Open Source Edition 3.1
WebLogic 11g PS3 (10.3.4)


Known to run application servers:

GlassFish Enterprise Server v2.1.1
Tomcat 7.0.11
JBoss 6.0

• I hated netbeans at college :D... but that's cause we were doing JSP. – RolandiXor Jun 12 '11 at 2:17
• lol ironically, JSP was the one thing that actually introduced me to Netbeans and I started loving it :P – Nitin Venkatesh Jun 12 '11 at 2:21
• I used to think NetBeans was okay until they announced they were dropping support for Ruby and Rails. There is also the problem where it is pretty much the most memory hungry application on earth... ;] – Nathan Kleyn Jun 16 '11 at 19:47
• Netbeans is a great IDE... Only problem is that it uses a bit too much resources for me. – TreefrogInc Jul 6 '11 at 21:10
• I never used Netbeans, but why would you, when you have Eclipse? – JohnMerlino Jun 28 '14 at 19:35

# GVim

For any languages (C, C++, C#, Python, Java, makefiles, Bash, Perl, HTML, JavaScript, assembler, PHP, Ruby, erb, fstab, passwd, most system configuration files, and much more, practically anything you want, I've yet find a need to download extra syntax highlighting plugins); available on most platforms on earth (Linux, Mac, Windows, Android, Unix, etc.).

GVim is a very configurable text editor with a unique and very powerful editing capabilities. The idea of being in command mode by default instead of insert mode and the mnemonic keybindings might take some getting used to for people coming from other IDE/editors, but once you get used to it, they allow you to edit text at the speed of thought. It is an editor optimized for touch typist as all functionalities are available via the keyboard (there are mouse support for those still learning the ropes, but the keyboard are much faster).

GVim comes with a clean, no nonsense interface by default (unlike most IDEs featured in here, GVim loads in seconds, not minutes), although with a little configuration you can turn it into anything you want it to be as GVim comes with a wealth of plugins and customization options written in VimScript or Python.

There is a terminal version as well, Vim, which works mostly the same, but inside a terminal.

## Screenshots:

GVim's default interface; clean, zero nonsense:

GVim with two tabs open, with a tree file explorer plugin on the left and editing a Django (Python) file on the right:

Vim running inside GNOME Terminal, showing the diff of two C++ files:

• It does have quite a learning curve however. My first encounter with it was a shock; an editor that does not allow you to edit! I have since discovered the 'i' key but more importantly the :wq keys. I have since gladly moved on to emacs with which I am much happier. – haziz May 4 '12 at 17:27
• An advantage of vim is that it is portable for both Linux and Windows. – pablofiumara Nov 6 '13 at 12:47
• "Clean, zero nonsense". OK. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ – mmyers Apr 24 '14 at 22:35
• The only time I would ever use VIM is when logged into a server via ssh. But as an IDE? Are you kidding me? – JohnMerlino Jun 28 '14 at 19:32
• But that's not an IDE – Yehonatan Tsirolnik Nov 5 '14 at 18:55

# gedit

You have a symbol browser and autocompletion.

• Gedit has autocompletion? How do you use this? – Callum Rogers Jun 12 '11 at 11:52
• please post a "how to make gedit an ide" guide. – db42 Jun 12 '11 at 12:18
• @Callum Rogers it does have autocompletion, but I've never figured out what makes it tick. – RolandiXor Jun 12 '11 at 12:42
• Autocompletion is enabled through Snippets (Tools menu) – MickaelFM Jun 14 '11 at 18:03
• I only use Gedit when working with code. What's nice about it is not only its simplicity, but also the fact that it comes preinstalled by default. – Christopher Kyle Horton Oct 16 '11 at 18:55

## Sublime Text

Sublime Text 2 is a simple, faster editor available on all major platforms (Linux, Windows, and Mac).

Sublime Text is a sophisticated text editor for code, HTML and prose. You'll love the slick user interface and extraordinary features.

Some noted features:

• Minimap: See your code from 10,000 feet
• Full screen mode: Use all your pixels, all the time
• Multiple selections: Simplify many tasks that used to require macros or regular expression
• Syntax highlighting for many languages with C, C++, C#, CSS, D, Erlang, HTML, Groovy, Haskell, HTML, Java, JavaScript, LaTeX, Lisp, Lua, Markdown, MATLAB, OCaml, Perl, PHP, Python, R, Ruby, SQL, Tcl, Textile and XML supported out of the box, and more available for download
• Multiple color schemes, with several included, and many more available for download
• Side by side multi-pane editing
• Fully customizable key bindings, menus and toolbar

Plus many other features.

## Windows

NOTE: Although it's not a free editor, you will get an unlimited evaluation for free. There is also a PPA for easier updates and integration, the tutorial can be found here.

http://webupd8.org/2011/03/sublime-text-2-ubuntu-ppa.html

• By the way, for easier updates and integration, there's a PPA (it works like Adobe Flash - downloads the updates from the official website): webupd8.org/2011/03/sublime-text-2-ubuntu-ppa.html – Alin Andrei Nov 9 '11 at 13:47
• Sublime Text is a paid product. And the nagware hits you hard while you are using it. It is very fast, much faster than Eclipse but it lacks a lot of the capabilities of Eclipse. – JohnMerlino Jun 28 '14 at 19:35
• You should also mention that it has a rich plugin repository as well as a build system that can be used to build Python, C++ etc directly inside the editor. – Nearoo Aug 25 '16 at 12:45
• A text editor is not an IDE. – Peter Mortensen Jan 30 '17 at 18:10

# Qt Creator

An IDE for developing cross-platform graphical C++ applications using the Qt Framework. A screenshot of the main window can be seen below. All the expected features of an IDE can be found in Qt Creator including, but not restricted to, auto-completion, code-wrapping, class browser, etc. The big advantage of using Qt Creator over another IDE or text editor when working on a Qt project is the built-in GUI editor, Qt Designer, that can be used to rapidly produce UIs in a fraction of the time it would take to type the code by hand. Qt Creator also includes support for various version control systems, including Git.

Qt Designer come both as a stand-alone editor and build into Qt Creator. GUI design with Qt Designer is done simply by dragging and dropping the UI element from the right-hand column onto the canvas in the middle, and the left-hand column contains the properties of each object. In the screenshot below, I have dragged a few buttons onto the canvas for illustrative purposes.

There are a few other official Qt applications that can be used when building Qt applications, either with or without Qt Creator. Qt Linguist is a tool for easily translation Qt applications into other languages. When writing the source code in Qt creator, the programmer would write a user-facing string of text like so

tr ("My String")


This marks the text as requiring translation. (NB: it is good practice to include these markers even if you don't intend to translate it yourself). Qt Linguist would then look for these markers and present a UI, similar to Launchpad's translation tools, where the translator can enter the translated string for each language into a text entry field and call the string translated. A screenshot of Qt Linguist being used to translate an application into Polish can be seen below.

Finally, there is Qt Assistant, which contains all the documentation and reference material required to get the most out of the Qt application suite. If you're ever used Devhelp, from the Ubuntu Software Centre and where all the documentation for developing on Ubuntu can be found, then you'll already know what to expect from this. If you need to know what a particular class does, just search for it's name in Qt Assistant and you'll be taken straight to the reference page. If you want to know more about using any of the above Qt applications, user manuals for all of them can be found in here. All the documentation is stored locally so Qt Assistant can be used without an internet connection.

As with any language, framework or toolset, it is entirely possible to develop using the provided libraries without using a specialised development environment, such as those mentioned above. It's also possible to buy your own milking cow and head out with a bucket every morning at 6am, rather than heading down to the store and buying a carton that will last a week. A developer's time is a precious resource - use it wisely by using the right tools for the right job. These tools are developed by Nokia, the developers of the Qt Framework and are, as such, the best possible tools for developing Qt applications (actually, they may be the only tools).

If you want to develop a Qt application, go into the Ubuntu Software Centre, search for 'qt', and download everything with the little green Qt logo next to it.

More information on Qt can be found at the Qt Developer Centre, while more information on the tools themselves can be found here.

• Can you write this in the qt-creator tag wiki? – Braiam May 18 '14 at 16:49
• Qt is designed for C++ projects using the Qt framework. If you are not using it, then it's useless for Java, Ruby and C development. – JohnMerlino Jun 28 '14 at 19:34
• @JohnMerlino You can use QtCreator for C++ projects without Qt framework – becko Aug 14 '14 at 16:00

# Emacs

1. It is a text editor which is designed to be used without moving your hand away from the letters section of the keyboard.
2. It has the ability to open and close several text file side by side.
3. It is highly configurable (though it requires some patience to learn how to configure)
4. Most of the crucial features of an IDE are included into Emacs (autocomplete, precompiling, syntax highlighting, etc.)
5. It is fully functional both from terminal and GUI environment
6. It has a built in easy-to-follow documentation

I never tried to develop any GUI application with Emacs, but for command line programming it is a killer.

• vim is better trolling intensifies – Yehonatan Tsirolnik Nov 5 '14 at 18:56
• @YehonatanTsirolnik I'm actually learning to use vim this day. It's major advantage is the less keystroke per command. On a side note, my daughter has a boy named Yehonatan in her kindergarten, I assume it isn't you. Trolling replay – Yotam Nov 6 '14 at 7:40

# Code::Blocks

Code::Blocks is the open-source, cross-platform Integrated Development Environment (IDE). It is based on a self-developed plugin framework allowing unlimited extensibility. Most of its functionality is already provided by plugins. Plugins included in the base package are:

• Compiler frontend to many free compilers

• Debugger frontend for GDB (and CDB for windows platforms)

• Source formatter (based on AStyle)

• Wizard to create new C++ classes

• Code-completion / symbols-browser (work in progress)

• Default MIME handler

• Wizard to create new Code::Blocks plugins

• To-do list

• Extensible wizard based on scripts

• Autosave (saves your work in the unfortunate case of a crash)

Currently, Code::Blocks is oriented towards C and C++. It can also be used for creating ARM, AVR, D, DirectX, FLTK, GLFW, GLUT, GTK+, Irrlicht, Lightfeather, MATLAB, Ogre, OpenGL, Qt 4, SDL, SFML, STL, SmartWin and wx programs and applications. Although, in some cases, the respective SDK of framework installation is required for development on a specific technology.

## IntelliJ IDEA

They have a community (free) and a paid version. You can have your git system included in this IDE's menus, and there are lots of nice features that make it an industrial strength code tool for any programming jobs. A fantastic IDE for developing in JavaScript.

• IntelliJ has great software. Android-Studio, IntelliJ Idea, PhpStorm. I've try and like the most of the things i see, specially phpStorm, wich i think is the best PHP IDE, but paid. – erm3nda Jun 12 '15 at 15:51

## MonoDevelop

MonoDevelop is the main IDE for Mono (.NET) development on Linux, but it also works on OS X and Windows in recent versions. The focus is on C#, Vala and Java (via IKVM.Net), but other languages are supported. It includes debugging, code completion, NUnit unit testing and a framework for more plugins, as well as built-in support for Subversion and Git VCS.

More screenshots can be found here

### Feature Highlights

• Multi-platform Supports Linux, Windows and Mac OS X.
• Advanced Text Editing Code completion support for C# 3, code templates, code folding.
• Configurable workbench Fully customizable window layouts, user defined key bindings, external tools
• Multiple language support C#, VB.NET, C/C++, Vala
• Integrated Debugger For debugging Mono and native applications
• GTK# Visual Designer Easily build GTK# applications
• ASP.NET Create web projects with full code completion support and test on XSP, the Mono web server.
• Other tools Source control, makefile integration, unit testing, packaging and deployment, localization

A useful feature of the C/C++ compiler in MonoDevelop is the way C++ packages are managed like .NET resources, so library configuration is a doddle.

• Mono was a community project, mainly out of Novell for a while. Microsoft didn't invent Mono. And no, no-one in Linux uses Mono. Especially not media players (Banshee), note taking apps (Tomboy), launchers (Gnome Do), photo management (F-Spot), cross-platform games (Bastion and more using MonoGame), file-sync alternatives to Dropbox (Sparkle Share) or anything else. – IBBoard Jun 29 '14 at 17:38

# RStudio

A good IDE for R.

RStudio pulls all graphics, console, and scripts together into one window and adds a useful frame for keeping track of datasets and objects. One great feature is that plots are stacked so that you can review and even manipulate prior plots.

It's cross platform and can even be run on a Linux server and accessed via a browser.

# Kate

Kate's a simple IDE with a plugin structure that allows easy development on KDE desktops.

## Aptana Studio

Aptana Studio is an open source integrated development environment (IDE) for building web applications. Based on Eclipse, it supports JavaScript, HTML, DOM and CSS with code-completion, outlining, JavaScript debugging, error and warning notifications and integrated documentation. Additional plugins allow Aptana Studio to support Ruby on Rails, PHP, Python, Perl,1 Adobe AIR, Apple iPhone and Nokia WRT (Web Runtime). Aptana Studio is available as a standalone on Windows, Mac OS X and Linux, or as a plugin for Eclipse.

PHP

Aptana Studio 3 provides the following support for PHP application development

• Syntax Coloring according to the selected theme in the preferences
• Code Assist
• Syntax error annotations
• Auto indentation and Code Formatting
• Hyper-linking to classes, functions and variables by hovering over elements and pressing the Ctrl key
• PHPDoc popups when hovering over items that have attached documentation
• Read and write Occurrences Markers when clicking on specific PHP elements.
• Built-in PHP server for previewing within Aptana Studio,
• Full code assist, code outlining and code formatting,
• Integrated PHP debugger,
• Built in Smarty,
• Type hierarchy view,
• Go to declaration,
• Integrated PHP manual (online or local).

Ruby on Rails

Aptana Studio supports Ruby on Rails development using RadRails, an open source plugin for the Ruby on Rails framework. This includes

• Integrated Ruby on Rails shell console,
• Default-install and configuration of the Ruby interpreter, database and debugger,
• code completion with type inferencing,
• Code Assist for Ruby, CSS, JavaScript and HTML inside RHTML files,
• Type hierarchy view,
• Go to declaration,
• Call hierarchy,
• Full implementation of RDT (Eclipse's Ruby Development Tools project).

Python

Aptana Studio provides support for Python in the form of the PyDev plugin. This provides the following advantages

• Color syntax highlighting
• Code completion
• Code outlining
• Debugging
• Refactoring tools
• Interactive console
• Unittest integration
• Integrated support for the CPython, Jython and IronPython interpreters.

# CodeLite

This IDE is relatively young, but it has evolved amazingly quick to become a very stable IDE for C++ development, with a surprisingly reliable autocompletion feature.

# KDevelop

KDevelop is an IDE that allows you to develop applications in different languages.

KDevelop 4.3 has decent support for C++11.

# Nano

Nano is a minimalistic text editor you can run from your terminal. It comes installed by default.

For syntax highlighting, try looking at How do I enable syntax highlighting in nano? or this Ubuntu Forums post.

• Nano is terrible. No one uses this. – JohnMerlino Jun 28 '14 at 19:37
• @JohnMerlino Nano is the Gedit of CLI text editors. It's good for quickly making a couple changes in the terminal and not have to worry about how to quit it afterwards. – Christopher Kyle Horton Jun 30 '14 at 13:15
• @JohnMerlino Nano is good for small things, no h8 m8 – Yehonatan Tsirolnik Nov 5 '14 at 18:57
• "Minimalistic text editor". Isn't it a stretch then to call it an IDE? – Peter Mortensen Jan 30 '17 at 18:09

# Anjuta

Anjuta is an integrated development environment for the C, C++, Java, JavaScript, Python and Vala computer programming languages, written for the GNOME project.

Anjuta DevStudio is a versatile software development studio featuring a number of advanced programming facilities including project management, application wizard, interactive debugger, source editor, version control, GUI designer, profiler and many more tools. It focuses on providing simple and usable user interface, yet powerful for efficient development.

# Val(a)IDE

An IDE for developing in Vala. It's not available in the repository, but the PPA exists. https://launchpad.net/~vala-team/+archive/ppa

## Eric Python IDE

Eric is a full-featured Python and Ruby editor and IDE, written in Python. It is based on the cross platform Qt GUI toolkit, integrating the highly flexible Scintilla editor control. It is designed to be usable as everydays' quick-and-dirty editor as well as being usable as a professional project management tool integrating many advanced features Python offers the professional coder. Eric 4 includes a plugin system, which allows easy extension of the IDE functionality with plugins downloadable from the net.

Current stable versions are Eric 4 based on Qt 4 and Python 2 and Eric 5 based on Python 3 and Qt 4.

If you like Vim, you might also try using abominade, which uses gVim under the hood:

It has an embedded gVim editor, a clever tabbed terminal pane that lets you right-click and open filenames, a file explorer, and it brings the buffers list to the forefront so you can keep straight many open files at once. You can also use any Vim splits or extra tabs you like.

To install it in Ubuntu, just do

$sudo apt-get install vim-gtk python-gtk2 python-vte \ python-dbus python-pip python-dev$ sudo pip install a8

• Like other projects on code.google.com, the link is broken: "404. That's an error. The project abominade was not found.". – Peter Mortensen Jan 30 '17 at 18:14
• @PeterMortensen It's moved to GitHub. Updated the link. – Mu Mind Jan 31 '17 at 5:03

# Scintilla

Scintilla is a free source code editing component. It comes with complete source code and a license that permits use in any free project or commercial product.

As well as features found in standard text editing components, Scintilla includes features especially useful when editing and debugging source code. These include support for syntax styling, error indicators, code completion and call tips. The selection margin can contain markers like those used in debuggers to indicate breakpoints and the current line. Styling choices are more open than with many editors, allowing the use of proportional fonts, bold and italics, multiple foreground and background colours and multiple fonts.

SciTE is a SCIntilla based Text Editor. Originally built to demonstrate Scintilla, it has grown to be a generally useful editor with facilities for building and running programs. It is best used for jobs with simple configurations - I use it for building test and demonstration programs as well as SciTE and Scintilla, themselves.

Development of Scintilla started as an effort to improve the text editor in PythonWin. After being frustrated by problems in the Richedit control used by PythonWin, it looked like the best way forward was to write a new edit control. The biggest problem with Richedit and other similar controls is that they treat styling changes as important persistent changes to the document so they are saved into the undo stack and set the document's dirty flag. For source code, styling should not be persisted as it can be mechanically recreated.

Scintilla and SciTE are currently available for Intel Win32 and Linux compatible operating systems with GTK+. They have been run on Windows XP, Windows 7, and on Ubuntu 10.10 with GTK+ 2.20.

## JS Studio

JS Studio is a Qt-based cross-platform IDE for developing JavaScript-based web applications.

JS Studio is designed to be a fully-featured IDE for developing web applications with a focus on interactive JavaScript-based apps. Here are some of the features currently available:

• Syntax highlighting for some common languages (JavaScript, Python, HTML, and CSS)
• Project management (add / remove / rename files)
• Interface can be fully extended / modified by JavaScript addons (includes addon manager)

You can install the application (from its PPA) using these commands:

sudo apt-add-repository ppa:george-edison55/george-edison
sudo apt-get update ; sudo apt-get install jsstudio


Disclaimer: I am the lead maintainer and programmer for this project.