It's almost too easy to require documentation
First, you will need the SDK headers and libraries and everything, the easiest way to get that is to check out the Code::Blocks sources and compile them. Then set your
#cb variable to where the sources are.
Next, there is a wizard. Use it, fill in a few things like your plugin's name.
That's almost everything already! Now just add/override some virtual functions, and add any code that you would like to run. Any object/function inside Code::Blocks is accessible, as plugins run in the same address space.
Finally, add a nice image/icon, and such, and pack it into a
.zip file. Adjust the manifest file so the file names match, if need be.