Scripting Code::Blocks

From Code::Blocks

Code::Blocks supports scripting to extend various parts of its functionality during runtime. The scripting language used is Squirrel.

Currently, Code::Blocks uses scripts for:


Run arbitrary commands on application startup.


Register new wizards for generating projects, build targets, files or anything else. All wizards shipped with Code::Blocks are scripted.

Script plugins

Create and register new plugins written entirely in Squirrel.


Extend the GNU Debugger (and others) to support arbitrary data types. Code::Blocks ships with scripts that add wxString, std::string and std::vector "knowledge" to the GNU Debugger.


Extend the build system. Scripts can be attached to projects and/or build targets and are executed before and/or after each of these is built.

Variable expansion

As a special case of variable expansion, scripts can be run in place of a variable, expanding to the output generated by the script.

Some examples

Collection of useful scripts

More Code::Blocks parts may be exposed to scripting in the future.

See also

This page will describe the script bindings of C::B in detail as a developer reference. It will show how certain parts of C::B and wxWidgets are exposed. This is an important reference for all script developers!
This page will describe how the script binding is actually done from a developers point of view. It is a reference to add own script bindings to C::B at source-code level.

External links