[c++] Best C++ IDE or Editor for Windows

What is the best C++ IDE or editor for using on Windows? I use Notepad++, but am missing IntelliSense from Visual Studio.

This question is related to c++ windows ide editor

The answer is


Um, that's because Visual Studio is the best IDE. Come back to the darkside.


I personally like Visual Studio combined with a third party add-in such as Visual Assist (http://www.wholetomato.com/). I've tried a few of the others and always ended up back with Visual Studio. Plus, Visual Studio is a widely used product in development industries, so having experience using it can only be a plus.


The Eclipse CDT works well for me. It supports MinGW and Cygwin as targets. It also integrates well with CVS and Subversion.

The latest build, Ganymede, is available here.


There are the free "Express" versions of Visual Studio. Given that you like Visual Studio and that the "Express" editions are free, there is no reason to use any other editor.


I vote for Visual Studio, but it seems that C++ is treated like second class citizen (not the compiler and stuff but IDE support) compared to .NET languages like C#, but hopefully MS will do something about it by the next version of Visual Studio (new standard is coming and they promised that 10 should be new 6).


VIsual studio is by far the best IDE but you can also take a look at Code::Blocks


I vote for Visual Studio, but it seems that C++ is treated like second class citizen (not the compiler and stuff but IDE support) compared to .NET languages like C#, but hopefully MS will do something about it by the next version of Visual Studio (new standard is coming and they promised that 10 should be new 6).


I prefer to use Microsoft Visual C++ express on windows. Though the 2008 ide is fine, the 2005 express has better support for many of the open projects which you might want to participate in. It's a pain to compile Firefox or a half life 2 mod on 2008. Also as a general tip when looking for software, I like to search wikipedia for "comparison of " In this case you would search comparison of Integrated Development Environments.

Hope that was helpful.


If you are interested in doing Qt development, then Qt Creator works fine and is free.


I prefer to use Microsoft Visual C++ express on windows. Though the 2008 ide is fine, the 2005 express has better support for many of the open projects which you might want to participate in. It's a pain to compile Firefox or a half life 2 mod on 2008. Also as a general tip when looking for software, I like to search wikipedia for "comparison of " In this case you would search comparison of Integrated Development Environments.

Hope that was helpful.


I think the debugger in Visual Studio (Express) is the killer thing that prevents me from using another IDE.


Visual Studio + Visual Assist X (http://www.wholetomato.com/)


Emacs. Xemacs works fine under Windows. For using it as an IDE, I recommend running it under Cygwin.


There are some features in an IDE that are so transformative that you don't know how you lived without them. Integrated help was one. IntelliSense-like functionality was another. VS 6.0's Debug and Continue was absolutely killer. Visual Studio kicked butt for quite a while. Not bad, given the awful NeXTstep rip-off it all started as. (Or is it that memories of NeXTstep has faded until VS seems okay?)

Sure, there are much better EDITORS that VS, but as a complete package for Win32 development nothing seems to come close.

There are free Express editions now, but they seem pretty crippled.

I am quite enjoying Eclipse under Linux (and derivatives of it on Windows used in some FPGA vendor toolchains). I -really- don't like the lack of integrated MSDN-style help, though.

I think it's basically down to those two choices.


The Zeus editor has support for C/C++ and it also has a form of intellisensing.

It does its intellisensing using the tags information produced by ctags:

alt text http://www.zeusedit.com/images/_lookmain.jpg


Visual studio is the most up to date and probably "best" free ide. Dev C++ is a little dated, and mingw doesn't compile most of boost, (except regex). Most of the other compilers are dated and fading, like mars and borland. But you can use whatever you like!


One that hasn't been mentioned is CodeLite, a powerful open-source, cross platform IDE. It has code completion amongst other features.


There are some features in an IDE that are so transformative that you don't know how you lived without them. Integrated help was one. IntelliSense-like functionality was another. VS 6.0's Debug and Continue was absolutely killer. Visual Studio kicked butt for quite a while. Not bad, given the awful NeXTstep rip-off it all started as. (Or is it that memories of NeXTstep has faded until VS seems okay?)

Sure, there are much better EDITORS that VS, but as a complete package for Win32 development nothing seems to come close.

There are free Express editions now, but they seem pretty crippled.

I am quite enjoying Eclipse under Linux (and derivatives of it on Windows used in some FPGA vendor toolchains). I -really- don't like the lack of integrated MSDN-style help, though.

I think it's basically down to those two choices.


The Zeus editor has support for C/C++ and it also has a form of intellisensing.

It does its intellisensing using the tags information produced by ctags:

alt text http://www.zeusedit.com/images/_lookmain.jpg


Emacs. Xemacs works fine under Windows. For using it as an IDE, I recommend running it under Cygwin.


I will quote myself from this question: https://stackoverflow.com/questions/780837/what-is-a-good-linux-ide-for-code-completion/917854#917854

Someone already said this before me, but QtCreator is really good for Qt4 development.

Not only it has a really good code completion support. It also knows a little more about the code and what to complete then I thought I needed. For example it knows about slots/signals. This means that connecting slots/signals via code is much easier then before.

The code editing is really nice. I remember that when refactoring code, (a few variables starting with underscore) it remembered the cursor position between lines and this made the refactoring much easier. The code indentation is smart enough to not get in my way (KDevelop was configurable, but QtCreator learns how I code. At least it feels like it does).

Then there are the cool key combinations. Most of the functionality of the IDE can be accessed using shortcuts. The "control+k" thingie is a nice thing, which some command line users would like, but I am more GUI oriented. I don't use it.

What I really like, is the split window command. Yes, KDevelop3 does it, but not as nice as QtCreator. My favorite is control+e,3 which I use to display the header and implementations of my classes. Once again, the navigation here is the best I have seen (control+e,o).

It also has a nice SCM integration. I usually use SVN, and quite frankly it's not as good as I need: no shortcut to diff the project, no diff to commit the whole project, no option to commit several files.

I also don't like the "total integration of external tools". I still like the external QtAssistant - control+tab is easier to read large articles. But.... when you define a QString s, and 3 lines bellow you want to read the interface of QString, you put your cursor on "s" and press F1 - the assistant comes as a sidebar with QString's documentation. A huge advantage.

Want to follow a definition? F2 to the help. F4? Changes header/implementation (yes, eclipse does this better...).

The debugger is good. It's not as good as VisualStudio but ... it has support for Qt4 internals (you can see the value of QString and QList!).

I can continue... but IMHO you will need to give it a second and third try. It really is a good product. Not as flexible as Eclipse (hi ryansstack), but it's a really small, fast and young project. I stopped developing QDevelop because I really found what I was looking for.

ps: yes, I mean stopped developing QDevelop. I was in the development team.

My response is for Qt4 development only. Be warned.


SlickEdit is very cool, and does support something like intellisense. At my current company I now use Visual Studio, and I've mostly gotten used to it - but there are still some SlickEdit features I miss.


As a complete all-in one package, Visual Studio 2008 is the best IDE for C++ development with Windows


Visual studio is great, but there are few tricks you can enhance it with. SonicFileFinder is one - helps you to search source files by partial match. You can map solution-tree to Alt+1, partial filename search to alt+2, and properties-window to alt+3. These are the three most used windows.

Another great tool that is ofter misunderstood is ctrl+shift+F shortcut for searching file contents. People dont use because it's so slow, but my advice is - deal with it. Searching the whole solution (or even all files in project folder) is only slow the first time you use it. Consequitive searches are as fast as jump-to-definition-feature.


I've tried SlickEdit, Notepad++, emacs, jEdit and Visual Studio. VS wins hands-down for Best Windows IDE.

jEdit is probably the best GUI cross-platform editor/almost-IDE, and emacs is probably the best terminal cross-platform editor/almost-IDE. The advantage with using these is that when you jump to a Mac or Linux box, you know how they work.

I tried Eclipse, but it ran like a no-legged dog it was so slow, so I didn't use it much. Maybe tech is better now, but eh.


With Intellisense, code folding, edit and continue, and a whole host of other features, Visual Studio is certainly the best IDE. However, for simple code editing, I often use UltraEdit. It has some great features not found in Visual Studio. One surprisingly useful feature is being able to select a column in the editor. You can find and replace within the column (useful for tabs vs. spaces wars...) delete the column, etc...


SlickEdit is very cool, and does support something like intellisense. At my current company I now use Visual Studio, and I've mostly gotten used to it - but there are still some SlickEdit features I miss.


As a complete all-in one package, Visual Studio 2008 is the best IDE for C++ development with Windows


How about CodeBlocks, i find it so fine with me, especially the new 10.05 version.


I think it's largely a matter of taste, but I would recommend begginers to stick to a pure editor (vi, emacs...) instead of a full fledged IDE so they can figure out the whole toolchain that modern IDEs hide.

Just for the record, my weapon of choice is Emacs.


I would recommend C++Builder, from Embarcadero, for C++ work and there is also a free version available. If you prefer Visual Studio, download one of free express editions.


Use Visual Studio 2010. You can get the full version free with DreamSpark


Here's another vote for Visual Studio. The debugger and Intellisense are definitely it's hallmarks. While other IDE's offer code-completion, I've often found them to be somewhat sluggish in this area for some reason (sluggish being a reference to the speed at which code-completion occurs and offers selections).

Other than VS, NetBeans is a good polished IDE and is updated on a very regular cycle.


M$ VS2008 is a better IDE for this.


I would recommend C++Builder, from Embarcadero, for C++ work and there is also a free version available. If you prefer Visual Studio, download one of free express editions.


personally i dont like microsoft......I hate to admit that visual studio is the best IDE i ever use.....Netbeans is gud but drasticaly slow....other free IDEs are useless.. so people try to stick with VS....


The question says specifically IDE so I am guessing thats what you want. In that case, the main options are Visual Studio and Eclipse CDT as stated above. Of those, I personally prefer Eclipse. However, don't necessarily limit yourself to an IDE. I prefer to use vim as my editor and WinDbg as my debugger. For compilation, your project will probably dictate this. I currently use NMAke on the command line.


Personally, I have found Bloodshed's Dev-C++ to be very good. However, I do not recall an update in a very long time. I have, because of this, switched over to NetBeans for everything.


Visual Studio BUT...

Go get ReSharper plugin from http://www.jetbrains.com/resharper/index.html. I'm a Java developer who uses IntelliJ and ReSharper gives a lot of the IntelliJ functionality to Visual Studio.


c++ IDE for MSWindows 1-Visual Studio 2-CodeBlocks (nighitly build) others (devcpp, netbeans, eclips,...) just sucks, dont waste your time


I think the anwser to this question depends on following question: Do you want to develop cross-platform applications ?
If the anwser to this question is a clear YES, than you should start right away with some IDE that support cross-platform compilers like gcc/mingw.

Personally ive tried CodeBlocks and QtCreator beside VS... If developing cross-platform software using Qt, surely QtCreator is the best choice. Since QtCreator is still a quite new IDE, it still has some bugs... for example it's "intelli-sense" doesnt support namespace aliaces yet.. but i think it will evolve pretty fast, to a very good and complete IDE.
Codeblocks is a quite "small" IDE, but has everything an IDE needs. Still its "Intelli-Sense" (especially when dealing with meta-programming stuff like boost), and debugger is less powerful than VS's.


QT and NetBeans are the best cpp IDE's that I've ever used.


My favorite IDE was good old msdev.exe, a.k.a., Microsoft Development Studio, a.k.a., Microsoft Visual C++ 6. It was the last version of Visual C++ that didn't require me to get new hardware just to run it.

However, the compiler wasn't standard-compliant. Not even remotely.


vi or gvim if you don't like terminals.


I'm a bit surprised because nobody has mentioned Codeblocks: http://codeblocks.org I think it is probably one of the best IDE's for C++. It is specially useful if you do multiplatform programming, since it is available for Linux, Mac and Windows, and it uses the same project files for all versions. It works perfectly with mingw, allowing you to even perform cross-compiling. It also directly supports wxWidgets visual development.


notepad++ or codeblocks for large projects


It looks like you did not mention Ultimate++ iDE. It is quite fast. It is not perfect as Visual Studio but it has several useful features such as function list, it shows which function you are in,searches, multiple releases, package system, a gui designer a faster container library. Code completion...


vi or gvim if you don't like terminals.


Dev-C++ is a complete stand alone debugger compiler and linker, and also offers "IntelliSense". If you want to break away from VS (that also includes VS express) i suggest using this tool.


Ultimate++ if you want to program for both Linux and C++ also you have the choice to choose your compiler.


Dev-C++ is a complete stand alone debugger compiler and linker, and also offers "IntelliSense". If you want to break away from VS (that also includes VS express) i suggest using this tool.


I have used Netbeans for java, and it works great. Not sure how it works with C++, though.


Dev C++ is also a nice IDE. It's not so user friendly, but it's usefull.


Questions with c++ tag:

Method Call Chaining; returning a pointer vs a reference? How can I tell if an algorithm is efficient? Difference between opening a file in binary vs text How can compare-and-swap be used for a wait-free mutual exclusion for any shared data structure? Install Qt on Ubuntu #include errors detected in vscode Cannot open include file: 'stdio.h' - Visual Studio Community 2017 - C++ Error How to fix the error "Windows SDK version 8.1" was not found? Visual Studio 2017 errors on standard headers How do I check if a Key is pressed on C++ How to enable C++17 compiling in Visual Studio? Remove from the beginning of std::vector Why does C++ code for testing the Collatz conjecture run faster than hand-written assembly? What is (x & 1) and (x >>= 1)? What are the new features in C++17? Visual Studio Code includePath Compiling an application for use in highly radioactive environments "No rule to make target 'install'"... But Makefile exists How to build and use Google TensorFlow C++ api Error LNK2019 unresolved external symbol _main referenced in function "int __cdecl invoke_main(void)" (?invoke_main@@YAHXZ) Converting std::__cxx11::string to std::string lvalue required as left operand of assignment error when using C++ How to overcome "'aclocal-1.15' is missing on your system" warning? MSVCP140.dll missing How to get image width and height in OpenCV? CMake error at CMakeLists.txt:30 (project): No CMAKE_C_COMPILER could be found Reading json files in C++ What exactly is std::atomic? Compile c++14-code with g++ Visual Studio 2015 doesn't have cl.exe Visual Studio 2013 error MS8020 Build tools v140 cannot be found CMake does not find Visual C++ compiler Casting int to bool in C/C++ C++ How do I convert a std::chrono::time_point to long and back How can I get the size of an std::vector as an int? Significance of ios_base::sync_with_stdio(false); cin.tie(NULL); Fatal error: iostream: No such file or directory in compiling C program using GCC unresolved external symbol __imp__fprintf and __imp____iob_func, SDL2 How to end C++ code How to change text color and console color in code::blocks? Error: stray '\240' in program invalid use of non-static member function Convert float to string with precision & number of decimal digits specified? enum to string in modern C++11 / C++14 / C++17 and future C++20 Passing capturing lambda as function pointer How do I add a library path in cmake? error: expected primary-expression before ')' token (C) undefined reference to 'std::cout' java.lang.UnsatisfiedLinkError: dalvik.system.PathClassLoader fatal error: mpi.h: No such file or directory #include <mpi.h>

Questions with windows tag:

"Permission Denied" trying to run Python on Windows 10 A fatal error occurred while creating a TLS client credential. The internal error state is 10013 How to install OpenJDK 11 on Windows? I can't install pyaudio on Windows? How to solve "error: Microsoft Visual C++ 14.0 is required."? git clone: Authentication failed for <URL> How to avoid the "Windows Defender SmartScreen prevented an unrecognized app from starting warning" XCOPY: Overwrite all without prompt in BATCH Laravel 5 show ErrorException file_put_contents failed to open stream: No such file or directory how to open Jupyter notebook in chrome on windows Tensorflow import error: No module named 'tensorflow' git clone error: RPC failed; curl 56 OpenSSL SSL_read: SSL_ERROR_SYSCALL, errno 10054 bash: npm: command not found? Anaconda Installed but Cannot Launch Navigator AttributeError: module 'cv2.cv2' has no attribute 'createLBPHFaceRecognizer' How to install pandas from pip on windows cmd? 'ls' in CMD on Windows is not recognized Copy Files from Windows to the Ubuntu Subsystem Tensorflow r1.0 : could not a find a version that satisfies the requirement tensorflow Kill tomcat service running on any port, Windows python pip on Windows - command 'cl.exe' failed How to install pip3 on Windows? Mount current directory as a volume in Docker on Windows 10 Specifying Font and Size in HTML table Why Local Users and Groups is missing in Computer Management on Windows 10 Home? Command to run a .bat file How do I force Robocopy to overwrite files? Windows- Pyinstaller Error "failed to execute script " When App Clicked How to completely uninstall Android Studio from windows(v10)? Docker for Windows error: "Hardware assisted virtualization and data execution protection must be enabled in the BIOS" How do I kill the process currently using a port on localhost in Windows? Error : getaddrinfo ENOTFOUND registry.npmjs.org registry.npmjs.org:443 How to add a custom CA Root certificate to the CA Store used by pip in Windows? How to reset the use/password of jenkins on windows? npm ERR! Error: EPERM: operation not permitted, rename CMD (command prompt) can't go to the desktop Xampp-mysql - "Table doesn't exist in engine" #1932 Change drive in git bash for windows "OverflowError: Python int too large to convert to C long" on windows but not mac Visual studio code terminal, how to run a command with administrator rights? ImportError: cannot import name NUMPY_MKL Pip - Fatal error in launcher: Unable to create process using '"' Installing tensorflow with anaconda in windows Where does Anaconda Python install on Windows? PermissionError: [Errno 13] Permission denied How to restart a windows service using Task Scheduler How to install xgboost in Anaconda Python (Windows platform)? NPM stuck giving the same error EISDIR: Illegal operation on a directory, read at error (native) Can't access 127.0.0.1 anaconda - path environment variable in windows Global npm install location on windows?

Questions with ide tag:

How can I view the Git history in Visual Studio Code? How to ignore a particular directory or file for tslint? How do I completely rename an Xcode project (i.e. inclusive of folders)? Where is the visual studio HTML Designer? How to disable gradle 'offline mode' in android studio? Android studio Error "Unsupported Modules Detected: Compilation is not supported for following modules" Android Studio was unable to find a valid Jvm (Related to MAC OS) QtCreator: No valid kits found Difference between WebStorm and PHPStorm package android.support.v4.app does not exist ; in Android studio 0.8 How to clear gradle cache? Unresolved reference issue in PyCharm Which Android IDE is better - Android Studio or Eclipse? Importing project into Netbeans How to generate Class Diagram (UML) on Android Studio (IntelliJ Idea) How to delete a module in Android Studio Can Android Studio be used to run standard Java projects? What is the shortcut to Auto import all in Android Studio? JetBrains / IntelliJ keyboard shortcut to collapse all methods Developing C# on Linux How to see JavaDoc in IntelliJ IDEA? How do you split and unsplit a window/view in Eclipse IDE? Difference between framework vs Library vs IDE vs API vs SDK vs Toolkits? How to clear the cache in NetBeans How do I run Python code from Sublime Text 2? How to make phpstorm display line numbers by default? Which is the best IDE for Python For Windows IntelliJ show JavaDocs tooltip on mouse over Which @NotNull Java annotation should I use? Xcode 4 - build output directory How to change file encoding in NetBeans? What is the shortcut in IntelliJ IDEA to find method / functions? Eclipse: Set maximum line length for auto formatting? Eclipse: Frustration with Java 1.7 (unbound library) How to increase font size in NeatBeans IDE? Any good, visual HTML5 Editor or IDE? Best way to add Activity to an Android project in Eclipse? How to configure Eclipse build path to use Maven dependencies? JUnit Eclipse Plugin? How to Select Columns in Editors (Atom,Notepad++, Kate, VIM, Sublime, Textpad,etc) and IDEs (NetBeans, IntelliJ IDEA, Eclipse, Visual Studio, etc) Is there a way to collapse all code blocks in Eclipse? How to jump back to NERDTree from file in tab? How do I run a Python program? Eclipse 3.5 Unable to install plugins How do I indent multiple lines at once in Notepad++? Bash script plugin for Eclipse? How do I autoindent in Netbeans? Best equivalent VisualStudio IDE for Mac to program .NET/C# How do I enable the column selection mode in Eclipse? Keyboard shortcut to "untab" (move a block of code to the left) in eclipse / aptana?

Questions with editor tag:

Select all occurrences of selected word in VSCode Change the Theme in Jupyter Notebook? How to view Plugin Manager in Notepad++ Set language for syntax highlighting in Visual Studio Code Copy text from nano editor to shell How do I duplicate a line or selection within Visual Studio Code? How to set editor theme in IntelliJ Idea How to change background color in the Notepad++ text editor? What is the difference between Sublime text and Github's Atom What are the advantages of Sublime Text over Notepad++ and vice-versa? How to make vim paste from (and copy to) system's clipboard? How to replace four spaces with a tab in Sublime Text 2? How do I force Sublime Text to indent two spaces per tab? Setting up Vim for Python How to take off line numbers in Vi? How to make HTML table cell editable? Go to first line in a file in vim? Any good, visual HTML5 Editor or IDE? How do I make Git use the editor of my choice for commits? How to comment out a block of Python code in Vim Turning off auto indent when pasting text into vim How to Select Columns in Editors (Atom,Notepad++, Kate, VIM, Sublime, Textpad,etc) and IDEs (NetBeans, IntelliJ IDEA, Eclipse, Visual Studio, etc) Copy all the lines to clipboard How do I indent multiple lines at once in Notepad++? Differences between Emacs and Vim What LaTeX Editor do you suggest for Linux? GUI-based or Web-based JSON editor that works like property explorer Disabling swap files creation in vim Does Notepad++ show all hidden characters? Open two instances of a file in a single Visual Studio session What are the dark corners of Vim your mom never told you about? What are the benefits of learning Vim? Indent multiple lines quickly in vi Is there a good JSP editor for Eclipse? Text editor to open big (giant, huge, large) text files How to copy and paste code without rich text formatting? How do I move to end of line in Vim? Best Free Text Editor Supporting *More Than* 4GB Files? Using Vim's tabs like buffers Best C++ IDE or Editor for Windows Convert DOS line endings to Linux line endings in Vim What IDE to use for Python? How to duplicate a whole line in Vim? JavaScript editor within Eclipse List of macOS text editors and code editors What Ruby IDE do you prefer? How can I set up an editor to work with Git on Windows? Text Editor For Linux (Besides Vi)?