Feature List: Difference between revisions

From Code::Blocks
Alpha (talk | contribs)
No edit summary
m Listed Clangd LSP support as a feature
 
(7 intermediate revisions by 2 users not shown)
Line 4: Line 4:
* '''Cross-platform.''' Runs on Linux, Mac, Windows (uses wxWidgets).
* '''Cross-platform.''' Runs on Linux, Mac, Windows (uses wxWidgets).
* Written in C++. No interpreted languages or proprietary libs needed.
* Written in C++. No interpreted languages or proprietary libs needed.
* Extensible through plugins
* Extensible through [[Code::Blocks Plugins|plugins]]


==Compiler==
==Compiler==
* '''Multiple compiler support:'''
* '''Multiple compiler support:'''
** [[Installing a supported compiler#Downloading the GNU GCC compiler .26 GDB debugger|GNU GCC]] ([[Installing Fortran Compiler|incl. G77]]) (Linux)
** [[Installing a supported compiler#Downloading the GNU GCC compiler .26 GDB debugger|GNU GCC]] ([[Fortran support in Code::Blocks|incl. GFortran]]) (Linux)
** [[Installing a supported compiler#MinGW.2FGCC|MinGW GCC]] ([[Installing Fortran Compiler|incl. G77]]) (Win32)
** [[Installing a supported compiler#MinGW.2FGCC|MinGW GCC]] ([[Fortran support in Code::Blocks|incl. GFortran]]) (Win32)
** MSP430 GCC (Win32)
** MSP430 GCC (Win32)
** TriCore GCC (Win32, Linux)
** TriCore GCC (Win32, Linux)
Line 28: Line 28:
* '''Very fast''' custom build system (no makefiles needed)
* '''Very fast''' custom build system (no makefiles needed)
* Support for '''parallel builds''' (utilizing your CPU's extra cores)
* Support for '''parallel builds''' (utilizing your CPU's extra cores)
* Multi-target projects
* [[Creating a new project#Adding a new build target|Multi-target]] projects
* Workspaces to combine multiple projects
* Workspaces to combine multiple projects
* [[The build process of Code::Blocks#Using project dependencies|Inter-project dependencies]] inside workspace
* [[The build process of Code::Blocks#Using project dependencies|Inter-project dependencies]] inside workspace
* [[Integrating Microsoft Visual C 6 with Code::Blocks IDE#Working with "legacy" MSVC6 workspaces/projects|Imports MSVC projects and workspaces]] (NOTE: assembly code not supported yet)
* [[Integrating Microsoft Visual C 6 with Code::Blocks IDE#Working with "legacy" MSVC6 workspaces/projects|Imports MSVC projects and workspaces]] (NOTE: assembly code not supported yet)
* Imports Dev-C++ projects  
* Imports Dev-C++ projects
* [[CB Clangd Client|Clangd LSP support]]


==Debugger==
==Debugger==
Line 51: Line 52:


==Interface==
==Interface==
* Syntax highlighting, customizable and extensible
* [[Languages supported by Code::Blocks lexers|Syntax highlighting]], customizable and [[Creating a custom lexer for Code::Blocks editor|extensible]]
* Code folding for C++ and XML files.
* Code folding for C++, Fortran, Python, XML, and multiple other languages
* Tabbed interface
* Tabbed interface
* Code completion
* [[Code Completion plugin|Code completion]]
* Class Browser
* Class Browser
* Smart indent
* Smart indent
* One-key swap between .h and .c/.cpp files
* [[Keyboard Shortcuts#Editor|One-key swap]] between .h and .c/.cpp files
* Custom [[Keyboard Shortcuts plugin|keyboard shortcuts]]
* Open files list for quick switching between files (optional)
* Open files list for quick switching between files (optional)
* [[Tools+ reference|External customizable "Tools"]]
* [[Tools+ reference|External customizable "Tools"]]
* To-do list management with different users
* [[To-Do List plugin|To-do list]] management with different users


==Plugins==
==Plugins==
* Fully customizable through [[Code::Blocks Plugins|plugins]]
* Fully customizable through [[Code::Blocks Plugins|plugins]]
* Automatically format source code to the desired style
* Automatically [[Source Code Formatter plugin|format source code]] to the desired style
* [[SpellChecker|Spell-check]] on strings and comments ([[Nightly Cookbook|svn]] only)
* [[SpellChecker plugin|Spell-check]] on strings and comments ([[Nightly Cookbook|svn]] only)
* [[WxSmith tutorials|Rapid application development tool]] for [[Using wxWidgets|wxWidgets]] based GUIs
* [[WxSmith tutorials|Rapid application development tool]] for [[Using wxWidgets|wxWidgets]] based GUIs
* [[NassiShneiderman|Nassi–Shneiderman]] diagramming
* [[NassiShneiderman plugin|Nassi–Shneiderman]] diagramming
* Hex editor
* Integrated [[HexEditor plugin|hex editor]]
* And much more...

Latest revision as of 20:57, 12 October 2024

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

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

Plugins