I have always wanted to step away from windows and go completely linux, but the only thing that prevents me are the programs. The problem is that I am use to the intellisense in Visual Studio 2008. I have looked for many alternatives to a program which displays the functions as visual studio does, but none seem to have what I am looking for. I have found programs such as notepad++ and it is awesome, but I don't like how it only uses color codes for the text. I know you can do CTRL-SPACE to get the Auto-Completion function to appear, but it is nothing like the one in Visual studio. If anyone knows of a linux program which does as specified, please tell me the name. I really want to put Windows away and go into linux. It has been interesting me for quite some while now. Also, I would like to know which programs you use to program in linux and why you like it. Thanks for your time.
If you don't mind using qmake for compilation, then I used qt-creator, and it works really well. Obviously, it is designed for use with Qt, but it can be used without (but not without qmake!)
If you're willing to shell out a little money, there's slickedit http://www.slickedit.com/
I used version 9 on Linux for development of a mixed C/C++ app. The completion is quite good, very similar to Visual Studio. It's worth a look anyway, there's a free trial.
(Obliging Mark) Eclipse. It's fairly similar to Visual Studio. Has auto completion and all that jazz. I use it all the time.
Honestly, I love Eclipse as a java and xml IDE. The C/C++ toolkit (CDT) is a little flaky and the only reason I use CDT is that eclipse is already installed. In cases where I need to do more advanced stuff (-B,static -l... -B,dynamic), I usually end up use gedit and make.
Just like Mark said, I also love Netbeans, it's really simple to use, got a lot of great highlighting and is really fast. On a side note if it's just to write some fast and easy code I also love gedit, which basically is a text editor but has awesome code highlighting too(plus its Cobalt theme (Dark blue based theme) is really nice and doesn't make you want to pop your eyes out of their sockets after looking at the screen for 2 hours straight).
This has always seemed pretty neato, but I've not done any heavy C++ work for a while.
Of course, it is an emacs plugin.
I use codeblocks myself, even on Windows. Its code completion is not great like Visual Studio because it only show the name of the possible choices, while Visual Studio even show descriptions if you want. but it works.
Altough if you manage to like NetBeans or Eclipse, stick with them, codeblocks is too unprofessional (like, they don't updated their roadmap since 2006... And they release randomly, asking the users to use unstable builds instead)
I'd recommend vi. Intellisense et. al. is a crutch, spend some time coding without it, you'll be amazed at how much better your code is when you actually have to think about what you're doing instead of just picking through packages. If you really can't live without, either NetBeans or Eclipse are good. Nothing's going to seem "as good" as VS, because it'll be different (and let's face it, VS is a pretty nice dev environment), but it's not hard to make the switch. And you'll be getting all the benefits of Linux to offset whatever you might feel you're losing: a real shell, a search command that actually works, tools that don't make you step through a five-dialog "wizard" just to set up a database connection...
Eclipse CDT has better code completion than Visual Studio, NetBeans, KDevelop or Xcode, in my experience. In particular it seems to do a better job of unraveling typedefs and template instantiations.
I also recommend using CMake to make switching between development environments and build systems relatively easy.
Just a note on NetBeans: it's code completion works quite well, but has performance issues on sufficiently complex code. Try using it boost, for example and it seems to take forever.