18 Best IDEs for C/C++ Programming or Source Code Editors on Linux
C++, an extension of well known C language, is an excellent, powerful and general purpose programming language that offers modern and generic programming features for developing large-scale applications ranging from video games, search engines, other computer software to operating systems.
C++ is highly reliable and also enables low-level memory manipulation for more advanced programming requirements.
There are several text editors out there that programmers can use to write C/C++ code, but IDE have come up to offer comprehensive facilities and components for easy and ideal programming.
In this article, we shall look at some of the best IDE’s you can find on the Linux platform for C++ or any other programming.
1. Netbeans for C/C++ Development
Netbeans is a free, open-source and popular cross-platform IDE for C/C++ and many other programming languages. Its fully extensible using community developed plugins.
It includes project types and templates for C/C++ and you can build applications using static and dynamic libraries. Additionally, you can reuse existing code to create your projects, and also use drag and drop feature to import binary files into it to build applications from the ground.
Let us look at some of its features:
- The C/C++ editor is well integrated with multi-session GNU GDB debugger tool.
- Support for code assistance
- C++11 support
- Create and run C/C++ tests from within
- Qt toolkit support
- Support for automatic packaging of compiled application into .tar, .zip and many more archive files
- Support for multiple compilers such as GNU, Clang/LLVM, Cygwin, Oracle Solaris Studio and MinGW
- Support for remote development
- File navigation
- Source inspection
Visit Homepage: https://netbeans.org/features/cpp/index.html
Code::Blocks is a free, highly extensible and configurable, cross-platform C++ IDE built to offer users the most demanded and ideal features. It delivers a consistent user interface and feel.
And most importantly, you can extend its functionality by using plugins developed by users, some of the plugins are part of Code::Blocks release and many are not, written by individual users not part of the Code::Block development team.
Its features are categorized into compiler, debugger and interface features and these include:
- Multiple compiler support including GCC, clang, Borland C++ 5.5, digital mars plus many more
- Very fast, no need for makefiles
- Multi-target projects
- Workspace that supports combining of projects
- Interfaces GNU GDB
- Support for full breakpoints including code breakpoints, data breakpoints, breakpoint conditions plus many more
display local functions symbols and arguments
- custom memory dump and syntax highlighting
- Customizable and extensible interface plus many more other features including those added through user built plugins
Visit Homepage: http://www.codeblocks.org
3. Eclipse CDT(C/C++ Development Tooling)
Eclipse is a well known open-source, cross-platform IDE in the programming arena. It offers users a great GUI with support for drag and drop functionality for easy arrangement of interface elements.
The Eclipse CDT is a project based on the primary Eclipse platform and it provides a full functional C/C++ IDE with following features:
- Supports project creation
- Managed build for various toolchains
- Standard make build
- Source navigation
- Several knowledge tools such as call graph, type hierarchy, in-built browser, macro definition browser
- Code editor with support for syntax highlighting
- Support for folding and hyperlink navigation
- Source code refactoring plus code generation
- Tools for visual debugging such as memory, registers
- Disassembly viewers and many more
Visit Homepage: http://www.eclipse.org/cdt/
4. CodeLite IDE
Some of its main features include:
- Code completion, and it offers two code completion engines
- Supports several compilers including GCC, clang/VC++
- Displays errors as code glossary
- Clickable errors via build tab
- Support for LLDB next generation debugger
- GDB support
- Support for refactoring
- Code navigation
- Remote development using built-in SFTP
- Source control plugins
- RAD (Rapid Application Development) tool for developing wxWidgets-based apps plus many more features
Visit Homepage: http://codelite.org/
6. Bluefish Editor
Bluefish is a more than just a normal editor, it is a lightweight, fast editor that offers programmers IDE like features for developing websites, writing scripts and software code. It is multi-platform, runs on Linux, Mac OSX, FreeBSD, OpenBSD, Solaris and Windows, and also supports many programming languages including C/C++.
It is feature rich including the ones listed below:
- Multiple document interface
- Supports recursive opening of files based on filename patterns or content pattern
- Offers a very powerful search and replace functionality
- Snippet sidebar
- Support for integrating external filters of your own, pipe documents using commands such as awk, sed, sort plus custom built scripts
- Supports full screen editing
- Site uploader and downloader
- Multiple encoding support and many more other features
Visit Homepage: http://bluefish.openoffice.nl
7. Brackets Code Editor
Brackets is a modern and open-source text editor designed specifically for web designing and development. It is highly extensible through plugins, therefore C/C++ programmers can use it by installing the C/C++/Objective-C pack extension, this pack is designed to enhance C/C++ code writing and to offer IDE like features.
Visit Homepage: http://brackets.io/
8. Atom Code Editor
Atom is also a modern, open-source, multi-platform text editor that can run on Linux, Windows or Mac OS X. It is also hackable down to its base, therefore users can customize it to meet their code writing demands.
It is fully featured and some of its main features include:
- Built-in package manager
- Smart auto-completion
- In-built file browser
- Find and replace functionality and many more
Visit Homepage: https://atom.io/
Installation Instructions: https://www.tecmint.com/atom-text-and-source-code-editor-for-linux/
9. Sublime Text Editor
Sublime Text is a well refined, multi-platform text editor designed and developed for code, markup and prose. You can use it for writing C/C++ code and offers a great user interface.
It’s features list comprises of:
- Multiple selections
- Command palette
- Goto anything functionality
- Distraction free mode
- Split editing
- Instant project switching support
- Highly customizable
- Plugin API support based on Python plus other small features
Visit Homepage: https://www.sublimetext.com
Installation Instructions: https://www.tecmint.com/install-sublime-text-editor-in-linux/
10. JetBrains CLion
CLion is a non-free, powerful and cross-platform IDE for C/C++ programming. It is a fully integrated C/C++ development environment for programmers, providing Cmake as a project model, an embedded terminal window and a keyboard oriented approach to code writing.
It also offers a smart and modern code editor plus many more exciting features to enable an ideal code writing environment and these features include:
- Supports several languages other than C/C++
- Easy navigation to symbol declarations or context usage
- Code generation and refactoring
- Editor customization
- On-the-fly code analysis
- An integrated code debugger
- Supports Git, Subversion, Mercurial, CVS, Perforce(via plugin) and TFS
- Seamlessly integrates with Google test frameworks
- Support for Vim text editor via Vim-emulation plugin
Visit Homepage: https://www.jetbrains.com/clion/
11. Microsoft’s Visual Studio Code Editor
Visual Studio is a rich, fully integrated, cross-platform development environment that runs on Linux, Windows and Mac OS X. It was recently made open-source to Linux users and it has redefined code editing, offering users every tool needed for building every app for multiple platforms including Windows, Android, iOS and the web.
It is feature full, with features categorized under application development, application lifecycle management, and extend and integrate features. You can read a comprehensive features list from the Visual Studio website.
Visit Homepage: https://code.visualstudio.com/
KDevelop is just another free, open-source and cross-platform IDE that works on Linux, Solaris, FreeBSD, Windows, Mac OSX and other Unix-like operating systems. It is based on the KDevPlatform, KDE and Qt libraries. KDevelop is highly extensible through plugins and feature rich with the following notable features:
- Support for Clang-based C/C++ plugin
- KDE 4 config migration support
- Revival of Oketa plugin support
- Support for different line editings in various views and plugins
- Support for Grep view and Uses widget to save vertical space plus many more
Visit Homepage: https://www.kdevelop.org
13. Geany IDE
Geany is a free, fast, lightweight and cross-platform IDE developed to work with few dependencies and also operate independently from popular Linux desktops such as GNOME and KDE. It requires GTK2 libraries for functionality.
Its features list consists of the following:
- Support for syntax highlighting
- Code folding
- Call tips
- Symbol name auto completion
- Symbol lists
- Code navigation
- A simple project management tool
- In-built system to compile and run a users code
- Extensible through plugins
Visit Homepage: http://www.geany.org/
14. Ajunta DeveStudio
Ajunta DevStudio is a simple GNOME yet powerful software development studio that supports several programming languages including C/C++.
It offers advanced programming tools such as project management, GUI designer, interactive debugger, application wizard, source editor, version control plus so many other facilities. Additionally, to above features, Ajunta DevStudio also has some other great IDE features and these include:
- Simple user interface
- Extensible with plugins
- Integrated Glade for WYSIWYG UI development
- Project wizards and templates
- Integrated GDB debugger
- In-built file manager
- Integrated DevHelp for context sensitive programming help
- Source code editor with features such as syntax highlighting, smart indentation, auto-indentation, code folding/hiding, text zooming plus many more
Visit Homepage: http://anjuta.org/
15. The GNAT Programming Studio
The GNAT Programming Studio is a free easy to use IDE designed and developed to unify the interaction between a developer and his/her code and software.
Built for ideal programming by facilitating source navigation while highlighting important sections and ideas of a program. It is also designed to offer a high-level of programming comfortability, enabling users to developed comprehensive systems from the ground.
It is feature rich with the following features:
- Intuitive user interface
- Developer friendly
- Multi-lingual and multi-platform
- Flexible MDI(multiple document interface)
- Highly customizable
- Fully extensible with preferred tools
Visit Homepage: http://libre.adacore.com/tools/gps/
16. Qt Creator
It is a non-free, cross-platform IDE designed for creation of connected devices, UIs and applications. Qt creator enables users to do more of creation than actual coding of applications.
It can be used to create mobile and desktop applications, and also connected embedded devices.
Some of its features include:
- Sophisticated code editor
- Support for version control
- Project and build management tools
- Multi-screen and multi-platform support for easy switching between build targets plus many more
Visit Homepage: https://www.qt.io/ide/
17. Emacs Editor
Emacs is a free, powerful, highly extensible and customizable, cross-platform text editors you can use on Linux, Solaris, FreeBSD, NetBSD, OpenBSD, Windows and Mac OS X.
The core of Emacs is also an interpreter for Emacs Lisp which is a language under the Lisp programming language. As of this writing, the latest release of GNU Emacs is version 24.5 and the fundamental and notable features of Emacs include:
- Content-aware editing modes
- Full Unicode support
- Highly customizable using GUI or Emacs Lisp code
- A packaging system for downloading and installing extensions
- Ecosystem of functionalities beyond normal text editing including project planner, mail, calender and news reader plus many more
- A complete built-in documentation plus user tutorials and many more
Visit Homepage: https://www.gnu.org/software/emacs/
18. VI/VIM Editor
Vim an improved version of VI editor, is a free, powerful, popular and highly configurable text editor. It is built to enable efficient text editing, and offers exciting editor features for Unix/Linux users, therefore, it is also a good option for writing and editing C/C++ code.
Generally, IDEs offer more programming comfortability then traditional text editors, therefore it is always a good idea to use them. They come with exciting features and offer a comprehensive development environment, sometimes programmers are caught up between choosing the best IDE to use for C/C++ programming.
There many other IDEs you can find out there and download from the Internet, but trying out several of them can help you find that which suites your needs.