DEV Community

Cover image for 8 Best C++ IDEs to use in 2023
Maria ๐Ÿฆ Marshmallow
Maria ๐Ÿฆ Marshmallow

Posted on • Edited on

8 Best C++ IDEs to use in 2023

Todayโ€™s post is devoted to 8 popular C++ programming environments. Many of them also support other languages.

Contents

  • Microsoft Visual Studio
  • NetBeans
  • CodeLite
  • Sublime Text
  • Code::Blocks
  • QT Creator
  • Eclipse CDT
  • CLion

1. Microsoft Visual Studio

With the help of Visual Studio, an integrated C++ development environment, you can create both console and graphical apps, including those that use Windows Forms. It is also suitable for creating websites, web applications and web services for all supported platforms: Windows, Windows Mobile, Windows CE, .NET Framework, Xbox, Windows Phone, .NET Compact Framework and Silverlight.

Pros:

  • A free version of Visual Studio Community is available.
  • Built-in command line interface.
  • API for connecting additional debugging tools.
  • A complete set of developer tools for creating and cloning Git repositories, managing branches, and resolving merge conflicts right within the C++ IDE.
  • A large set of add-ons to expand the basic functionality.

Cons:

  • High hardware requirements.
  • No Linux version.
  • High prices for paid Professional and Enterprise versions (starting from $45 per month).

Official website: https://visualstudio.microsoft.com/

2. NetBeans

NetBeans is a free IDE which allows you to create applications in Java, Python, PHP, JavaScript, C, C++ and other programming languages. This C++ IDE is distributable for Microsoft Windows, Linux, FreeBSD, macOS, OpenSolaris and Solaris platforms. You can create your own copy of NetBeans from the source code for all other platforms.

Pros:

  • Free C++ Integrated Development Environment.
  • Cross-platform support.
  • A large selection of plugins.
  • Code completion, refactoring tools.
  • Developers community.

Cons:

  • Own cache issues when creating final programs.
  • Installation requires the JDK.
  • Slow start up.

Official link for downloading: https://netbeans.apache.org/download/index.html

3. CodeLite

CodeLite is also free and runs on many operating systems: Windows 7/8/8.1/10, Debian, Ubuntu, Fedora, OpenSUSE, ArchLinux and macOS. It's a great option for beginners because of its straightforward and user-friendly interface. It should be mentioned that the most recent versions of this C++ IDE now support projects for Node.js and PHP.

Pros:

  • A powerful code completion tool based on its own parser.
  • Plugins for working with Git and SVN.
  • Built-in debugger.

Cons:

  • Complex interface

Official website: https://codelite.org

4. Sublime Text

Sublime Text is a proprietary text editor written in C++ and Python, developed in 2008. This code editor has a large community, so there is no problem finding add-ons and tutorials.

Pros:

  • Can be used for free.
  • Does not make high demands on hardware.
  • Built-in support for several dozen programming languages.
  • Auto-completion and syntax highlighting in a code editor.
  • A large selection of plugins written in Python.

Cons:

  • As a debugging tool, itโ€™s not as good as Visual Studio and other IDEs.
  • No autosave files.
  • Constantly offers to buy a paid version.

Official website: https://www.sublimetext.com

5. Code::Blocks

Another great free development environment is Code::Blocks. It allows users to write code not only in C/C ++, but also provides support for such programming languages as Fortran and D (with some restrictions). The developer toolkit has the ability to be extended by installing plugins. This C++ programming environment has versions for Windows, macOS and Linux, but it is possible to install it on any Unix-like system using the source code.

Pros:

  • Free C++ development environment.
  • Code completion.
  • Built-in debugger.
  • A large selection of plugins to expand functionality.

Cons:

  • Not suitable for developing large projects.

Official website: https://www.codeblocks.org

6. QT Creator

Qt Creator is a C++ IDE available on Windows, Linux and macOS. It provides a free version that is valid for one month and offers a complete set of developer tools for building and deploying applications.

Pros:

  • Supports debugging, profiling, code completion and refactoring.
  • Ability to compile projects for different operating systems.

Cons:

  • Large app size.
  • Code completion doesn't always work.
  • The paid version is quite pricey.
  • Registration is required to download the free version.

Official website: https://www.qt.io/?hsLang=en

7. Eclipse CDT

Eclipse is a free IDE for developing modular cross-platform applications that has become very popular among Java developers. In this post, we will look at the Eclipse CDT (C/C++ Development Tooling) release. This environment is an excellent choice, since Eclipse CDT not only has all the necessary tools, but is also free and runs on various operating systems: Windows/Linux/macOS.

Pros:

  • Free to use.
  • Auto-completion and other features that help you write code faster.
  • A large set of plugins to extend functionality.
  • Well-developed community, detailed documentation.
  • Built-in unit testing, test optimization.
  • Customizable GUI.

Cons:

  • Slow start up, high memory consumption.
  • Backward compatibility issues.
  • Possible plugin conflicts.

Official link for downloading: https://github.com/eclipse-cdt/

8. CLion

The last IDE on my list is a cross-platform C++ programming environment from JetBrains called CLion. It includes modern C++, libc++ and Boost standards, and also supports other programming languages โ€“ Kotlin, Python, Rust, etc. by using plugins.

Pros:

  • User-friendly mechanisms for debugging applications.
  • Code completion.
  • VIM support.

Cons:

  • No free version โ€“ only a 30-day demo.
  • There is no built-in compiler.
  • There may be problems installing the compiler.

Official link for downloading: https://www.jetbrains.com/clion/download/#section=windows

Conclusion

Choosing the right IDE for you is no easy task. I hope this list of the best C++ IDEs has provided insight into the various options available.
While Iโ€™ve featured the major contenders and explored their feature sets, nothing will replace hands-on use. I recommend giving your favorites from this list a try with an actual project to see which works best for you.
Leave a comment below which IDE you liked the most and describe your experience!

That, in fact, is all that has accumulated at the moment. I hope you find my observations interesting and they will help someone.

Do you think I missed something important? Feel free to leave any questions, comments, or suggestions.

Btw, you can support my work by buying me a coffee! I'll leave here a few links for you:)

Buy Me a Coffee at ko-fi.com

You can also support me on Coinbase

Top comments (39)

Collapse
 
phophogr profile image
Phoebe Green

It sounds like you have provided a thorough overview of the different C++ IDEs available and offered some advice on how to choose the right one for an individual's needs. It would be beneficial to also include information on the operating systems the IDEs are compatible with and the target audience (e.g. beginners, professionals, etc.).

Collapse
 
mariamarsh profile image
Maria ๐Ÿฆ Marshmallow

Yes, that is correct. It's always good to have that information as it can help users to narrow down their choices based on their operating system and skill level, I'll keep that in mind ๐Ÿ˜Š

Collapse
 
siy profile image
Sergiy Yevtushenko

Why need to install JDK is a "cons"? By the way, Eclipse CDT also requires JDK.

Collapse
 
mariamarsh profile image
Maria ๐Ÿฆ Marshmallow

I considered it as a "con" because if the user does not have the JDK installed on their system, he or she needs to go through the process of installing it before use the IDE.

Collapse
 
siy profile image
Sergiy Yevtushenko

Most IDE's require installation of plugins for comfortable work or even to be usable for particular project. Should it also be considered as "con"?

Thread Thread
 
mariamarsh profile image
Maria ๐Ÿฆ Marshmallow

Whether or not the need to install plugins is a "con" depends on the perspective of the user. For some, the ability to customize and extend the functionality of an IDE through the use of plugins is a major advantage. However, for others, the need to install and manage multiple plugins may be seen as a drawback.

Thread Thread
 
siy profile image
Sergiy Yevtushenko

I did mean particular case, when IDE is not usable for project without some plugin. For example, if IDE doesn't support cmake without dedicated plugin.
Anyway, I understand your point, although not completely agree with it.

Collapse
 
enree profile image
Yuri Borisoff

Qt Creator is available as free community version in every Linux distro. No "one month" restriction or any registration is required.
As a pros:

  • It supports different build system: cmake, qmake, qbs
  • Has no built-in compiler, so you can use any (GCC, clang, msvc)
  • Supports remote debugging
  • Paid version has Squish integration

Cons:

  • it's refactoring capabilities is much worse than CLion has
Collapse
 
mariamarsh profile image
Maria ๐Ÿฆ Marshmallow

Thank you, Yuri, for such a detailed clarification regarding QT Creator!

Collapse
 
developman profile image
Dmitry Mineev

I surprised why JetBrains IDE wasnโ€™t included in the list. I didnโ€™t use it for C++ coding but I use for other languages (ruby, python, PHP, JS) and Iโ€™d say itโ€™s the best product.
And I donโ€™t see VSCode in the list. Itโ€™s free, but with some plugins it could be better than some paid products.

Collapse
 
mariamarsh profile image
Maria ๐Ÿฆ Marshmallow

The list I provided is not exhaustive and there are many other excellent IDEs available, including JetBrains IDEs and VSCode. Maybe in my next list I can mention those two IDEs โ˜บ๏ธ

Collapse
 
aneshodza profile image
anes

For the more advanced coders: Vim is great and improves development speed. Has a very steep learning curve but learning it pays dividends.
If you want to get into it but don't know where to start: JetBrains IDEs and VSCode both have a very good vim plugin to get you started without having to completely switch

Collapse
 
mariamarsh profile image
Maria ๐Ÿฆ Marshmallow

I agree with you on that matter, I personally like in Vim that there are tutorials and resources available online to help you getting started with Vim, such as Vim tutorials, Vimcasts, and Vim Adventures.

Collapse
 
dogers profile image
Dogers

Except Sublime Text can't be "used for free" - it's a piece of commercial software you're supposed to buy a license for after evaluating it.

Collapse
 
mariamarsh profile image
Maria ๐Ÿฆ Marshmallow

That's true, thanks for mentioning that!

Collapse
 
dogers profile image
Dogers

Sorry, I don't mean to belittle your (actually fabulous) list, it just grates when people ignore licenses :)

Thread Thread
 
mariamarsh profile image
Maria ๐Ÿฆ Marshmallow

No problem, it's important to be aware of licenses when using software or other works ๐Ÿ‘Œ๐Ÿป

Collapse
 
mrdanishsaleem profile image
Danish Saleem

Great list of IDEs for C++ ๐Ÿš€

Here's one I personally prefer: DevC++

You can download it from here: bloodshed.net/

Collapse
 
mariamarsh profile image
Maria ๐Ÿฆ Marshmallow

Thanks for mentioning this IDE, I've never used it ๐Ÿ‘๐Ÿป

Collapse
 
mrdanishsaleem profile image
Danish Saleem

Give it a try then๐Ÿ˜

Collapse
 
sleibrock profile image
Steven L

Emacs. Learned it years ago, never stopped using it.

Collapse
 
mariamarsh profile image
Maria ๐Ÿฆ Marshmallow

Great one, actually!

Collapse
 
capati profile image
Rafael Henrique Capati

There is "10x Editor", a new high performance C++ editor.

Collapse
 
mariamarsh profile image
Maria ๐Ÿฆ Marshmallow

I'm not familiar with this editor, but thanks for sharing!

Collapse
 
dxcqcv profile image
Roy

What's about neovim?

Collapse
 
mariamarsh profile image
Maria ๐Ÿฆ Marshmallow

I believe that Neovim can be configured to work as an IDE with the help of plugins, but it is not a default setting for it. Mostly it is used just as a text editor.