tags:

views:

674

answers:

10

I was wondering where I can download a c++ compiler with code completion that doesn't suck like the back-end of a donkey. I have tried Eclipse, but that could not find code that had a space in the path (which means the entire concept is kinda unless), I tried codeblocks, which has a limited form of code completion that can only list the members of the current object, not the functions that can be called on them.

This situation annoys me, because all the IDEs for Java that I have used or heard about have a much better inference engine.

Much obliged if you could help me.

+16  A: 

Visual Studio 2008 2010 Express is free.

Simon P Stevens
With Code Rush xpress -> perfect
Johannes Rudolph
Visual studio express does not support addins, so despite the similar naming Code Rush Xpress does not work with Visual Studio Express. Also, Code Rush Xpress is for C# code not C++.
Simon P Stevens
A: 

http://www.codeblocks.org/

SUMMARY: Code::Blocks is a free C++ IDE built to meet the most demanding needs of its users. It is designed to be very extensible and fully configurable.

adatapost
The OP has already tested Code::Blocks and was not happy with it.
Cristian Adam
From the OP: "I tried codeblocks, which has a limited form of code completion that can only list the members of the current object, not the functions that can be called on them."
sbi
+2  A: 

Have you tried netbeans? I don't know exactly how good its code completion is, I only know it has code completion.

Raze
+1  A: 

You can also try CodeLite.

Nick D
+3  A: 

Try vim. It's included by default in most linux distributions.

As a side note: completion for C++ is generally not as good as for Java, because it's much more difficult to write a good completion engine for C++ than it is for Java.

static_rtti
+1 for the general note about code completion in C++ being generally worse than in Java.
sbi
The answer is not relevant as he asked for a Windows solution
Shaihi
I would wish anything derived from vi on my worst enemy (not that I have any enemies, but you know what I mean).
Stephen Kellett
Vim works on windows, too. I must admit I hadn't seen the "windows" tag prior to your comment. I think the poster could have been more explicit.@stephen Kellet: that's because you don't understand vim yet. It's a wonderful tool once you get it. Granted, it takes a bit of work :)
static_rtti
+5  A: 

You can also try:

  • Qt Creator backed by Nokia, which gets better and better every day
  • Code Lite which is something similar to CodeBlocks, but unlike CodeBlocks makes regular official releases, but limited only to open source tools.
  • Ultimate++ has some interesting ideas implemented.
Cristian Adam
A: 

Eclipse + CDT

Codeblocks

Ram
The OP has already tested Eclipse and Codeblocks, he wanted other options besides them.
Cristian Adam
My bad, thought he did not use CDT
Ram
+1  A: 

Spaces in paths (on Windows) is also an issue for the GNU toolchain in some cases - make.exe is particularly troublesome in some builds - sometimes works, sometimes doesn't. Are you sure the problem is Eclipse rather than the toolchain? Spaces in paths are just a bad idea, portability between Linux and Windows suffers (as you have found), and what is so hard about using CamelCase or under_scores? I think the assertion that the problem renders the IDE useless is somewhat extreme - you just have to adapt your practices to suit. That said Eclipse sucks in many other ways! ;)

Did you use Eclipse with CDT? The simplest way to use Eclipse with C/C++ perhaps is to use EasyEclipse for C/C++.

All that said on Windows, VC++ 2008 Express edition is hard to beat. Personally I find code completion an almost useless, and mostly annoying crutch; but an effective debugger on teh other hand is far more important, and that is what VC++ has, even in the cut-down Express edition.

Clifford
The main problem is that spaces are normal on Windows, and a Windows toolchain that can't handle them is broken. I might forgive a lack of support for non-ASCII filenames, but Win32 has supported spaces since day 1.
MSalters
My point was that the GNU toolchain is not developed on Windows but ported from Linux. What toolchain are you using, and is that the real problem not Eclipse. My other point was rather than fight the tool (over which you may have no choice), it is simpler to change the habit. Arguably spaces in paths are a convenience for end-users that application developers should not rely on. Basically there are two ways to solve a problem 1) Change something, 2) Change your point-of-view, so you no longer regard it as a problem. The second method reduces a lot of unnecessary stress over trivial issues. ;)
Clifford
A: 

You can try :

  1. Qt Creater
  2. Bloodshed Devcpp

Both are good enough. If you need only cpp IDE with compiler and other facilities, You can try devcpp, in devcpp various plugins are available so you can download and install them according to your convenience.

GG
A: 

I like wxDevC++ because of its small size, C99 compatibility and built-in wxWidget library.

It has a moderately good code-completion feature.

JMSA