Just before Christmas I did a skill sprint on developing IDE plugins, covering some topics that aren’t usually covered – dockable forms and drawing on the IDE editor, as well as notifiers and the fundamentals of writing plugins. The replay is now available:
Note there is an error in the video: I say that the docs say to use ‘WizardEntryPoint’ as the entry point name, which doesn’t work (true) and to use ‘INITWIZARD0001’ as the actual entry point (also true). I found the documented value didn’t work and looked for what the IDE was actually trying to load, and so used that. It turns out that ‘WizardEntryPoint’ is not the name of the method but a constant, the value of which is ‘INITWIZARD0001’, which makes more sense. Correct would would read ‘InitWizard name WizardEntryPoint;’, no quotes around around the name. I wish that had been documented clearly before I misread it, and made a mistake on video. Can’t erase it now!
You can download the source code for the sample plugin I wrote during the skill sprint too. The replay includes a Q&A at the end.
Here is the original blog post on the sprint.
I tried to address things that are not normally addressed in an introduction to plugins, and to give you a good basis in all the fundamentals. Hopefully after this you should have a good enough background to write any plugin you want.
- What a plugin is, how to make a simple plugin with icons on the splash screen and About box
- The difference between DLL and BPL plugins
- Debugging a plugin (running Delphi under Delphi)
- Using dockable forms
- Notifiers – a key mechanism used to communicate between the IDE and plugins
- How to draw on the code editor in Seattle
- Plus a live Q&A
All in 38 minutes!
Apart from editor painting, all dot points are applicable to a wide range of IDE versions (certainly XE and above, and probably something like D2006 and above.)