Code::Blocks is a unique, free, open source C++ IDE built to meet the most demanding needs of its users. Code::Blocks is designed to be very extensible and fully configurable.
Finally, Code::Blocks is an IDE with all the features you need, having a consistent look, feel and operation across platforms.
Built around a plugin framework, Code::Blocks can be extended with plugins. Any kind of functionality can be added by installing/coding a plugin.
For instance, compiling and debugging functionality is already provided by plugins!
Here are some key features of "Code::Blocks":
Highlights:
· Open Source! GPLv3, no hidden costs.
· Cross-platform. Runs on Linux, Mac, Windows (uses wxWidgets).
· Written in C++. No interpreted languages or proprietary libs needed.
· Extensible through plugins
Compiler:
Multiple compiler support:
· GCC (MingW / GNU GCC)
· MSVC++
· Digital Mars
· Borland C++ 5.5
· Open Watcom
· ...and more
· Very fast custom build system (no makefiles needed)
· Support for parallel builds (utilizing your CPU`s extra cores)
· Multi-target projects
· Workspaces to combine multiple projects
· Inter-project dependencies inside workspace
· Imports MSVC projects and workspaces (NOTE: assembly code not supported yet)
· Imports Dev-C++ projects
Debugger:
· Interfaces GNU GDB
· Also supports MS CDB (not fully featured)
Full breakpoints support:
· Code breakpoints
· Data breakpoints (read, write and read/write)
· Breakpoint conditions (break only when an expression is true)
· Breakpoint ignore counts (break only after certain number of hits)
· Display local function symbols and arguments
· User-defined watches (support for watching user-defined types through scripting)
· Call stack
· Disassembly
· Custom memory dump
· Switch between threads
· View CPU registers
Interface:
· Syntax highlighting, customizable and extensible
· Code folding for C++ and XML files.
· Tabbed interface
· Code completion
· Class Browser
· Smart indent
· One-key swap between .h and .c/.cpp files
· Open files list for quick switching between files (optional)
· External customizable "Tools"
· To-do list management with different users