74
votes

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

5
  • 40
    Why don't you just use VS? Commented Dec 8, 2009 at 18:50
  • 2
    i don't get this, VS intellisense for c++ is rubbish (at least was upto 2008, 2010 seems to be getting an overhaul) emacs dabbrev-expand is far more useful imho for hard to parse languages like c++ (and also works well with TDD)
    – jk.
    Commented Jan 14, 2010 at 16:19
  • 9
    visual c++ is all about the build integration and debugger... intellisense is just a nice bonus when it decides to work Commented Feb 9, 2010 at 23:36
  • 6
    Intellisense doesn't really work. It also slows down the IDE and is anything but reliable when it does decide to provide code completion hints. If you're missing Intellisense, do yourself a massive favour and get the VisualAssist X plugin. You will never need Intellisense again.
    – Carl
    Commented Jun 7, 2010 at 2:18
  • 2
    Those people trying to delete-vote this question: It has a ton of upvotes and so do the answers. That means people are interested in it and deleting it would not serve anyone. Besides that, enjoy getting the 120(?) deletion votes necessary to actually delete the question... Commented Jan 10, 2012 at 13:28

44 Answers 44

202
votes

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

6
  • 62
    Indeed. It is popular to dislike Microsoft and their products, however it is commonly agreed among the same programmers and tech-savvy folks who bash MS that Visual Studio and its counterparts are great software and wonderful to work with.
    – junkforce
    Commented Sep 18, 2008 at 6:31
  • 2
    ... especially if you use ViEmu with it!
    – OJ.
    Commented Sep 18, 2008 at 10:03
  • 1
    The intellisense is easily broken when dealing with templates, even in the VS 2010 (which is already much better than previous version). And there is no refactoring support, even for just rename?
    – leiiv
    Commented Feb 19, 2010 at 3:37
  • 31
    VS is a relatively significant reason to write C# instead of Java.
    – Dean J
    Commented Apr 15, 2010 at 13:01
  • Um, and you can still use makefiles and gcc instead of MSVC and just use Visual Studio for text editing ;-) See stackoverflow.com/questions/216025/gcc-with-visual-studio Commented May 24, 2010 at 17:17
41
votes

I've found the latest release of NetBeans, which includes C/C++ support, to be excellent.

http://www.netbeans.org/features/cpp/index.html

1
  • I use Netbeans for C++ development under Windows and I like it. The developers are pretty responsive when you file bug reports (I did a few).
    – quant_dev
    Commented Jan 14, 2010 at 15:17
30
votes

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.

0
21
votes

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.

0
18
votes

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.

0
11
votes

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).

2
  • You can try the 2010 beta now I think.
    – mpen
    Commented Jun 5, 2009 at 22:32
  • Herb Sutter seems to think that the new 2010 will be the bees knees. Commented Jun 15, 2009 at 18:15
11
votes

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

10
votes

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.

10
votes

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

1
  • 3
    This is even a very good option when doing non-Qt development. I use QtCreator all the time. It has everything: project management (qmake/cmake), version control (svn, cvs, git), "intellisense", debugger integration (although I've never used it, people say it is not as good as VS, which I have to believe ;) ).
    – rubenvb
    Commented Jul 19, 2010 at 12:50
9
votes

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

7
votes

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

0
5
votes

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.

0
5
votes

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

2
  • 2
    Instead of Xemacs, use the new GTK+-based emacs: mirrors.kernel.org/gnu/emacs/windows
    – User1
    Commented Jul 18, 2009 at 18:57
  • When I used to do Windows work, I used the GTK+-based Emacs with Visual C++ (just the compiler, not the IDE). I found it to be a really great combination.
    – smithco
    Commented Feb 21, 2011 at 2:15
5
votes

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

5
votes

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!

2
  • dev-cpp includes an ancient version of MinGW, has nothing to do with the IDE itself.
    – rubenvb
    Commented Jul 19, 2010 at 12:50
  • 1
    Dev C++ was last updated in 2005 last time I checked. If you like MinGW try Code::Blocks
    – user295190
    Commented Sep 3, 2010 at 15:18
5
votes

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

1
  • Probably my favorite C++ ide.
    – Dominic K
    Commented Sep 3, 2010 at 21:18
4
votes

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.

3
votes

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.

1
  • I'm a former SlickEdit fan. SlickEdit used to be rock solid, a programmer's delight, with world-class quick, helpful, friendly support. I bought it out of my own pocket, plus 1 or 2 upgrades. But then its makers graduated from a mom-&-pop shop to a corporate money machine, and now the product is full of glitzy features nobody needs, it's become slow(er) and buggy(ier) and support has gone down the tubes. Since I work mainly with Java in Eclipse, VSE kind of faded away for me. Commented Jul 19, 2010 at 12:46
3
votes

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

0
3
votes

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.

3
votes

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.

3
votes

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...

3
votes

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

2
votes

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.

1
  • as much as I like Borland/Codegear, nowadays their tools just aren't up to snuff to be considered for real work. It also doesn't seem like Turbo C++ Explorer is being offered anymore -- a real shame
    – greatwolf
    Commented Dec 10, 2010 at 0:37
2
votes

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.

2
votes

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.

1
  • I'd recommend beginners to stick with a complete solution until they become familiar with programming. Then, you can show them the nitty-gritty details. It's much easier to learn when you have only one focus: what you're trying to learn. Commented Apr 24, 2011 at 2:52
2
votes

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....

1
  • 1
    can you please elaborate a bit on what makes the free IDE's useless? Which ones have you tried? In what areas do they fall short on in comparison?
    – greatwolf
    Commented Dec 10, 2010 at 0:35
2
votes

M$ VS2008 is a better IDE for this.

2
votes

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.

2
votes

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

Not the answer you're looking for? Browse other questions tagged or ask your own question.