
Generate Code with Macros #52
Chapter 6, Speed Hacks
|
207
HACK
Creating a Simple Generation Macro
Suppose you want to create a function for each value in an enumeration.
Code generation is useful for creating an initial set of functions and can be
done using a more typical generation tool such as CodeSmith
[Hack #50]. How-
ever, often you will find that after hand-editing some of the generated func-
tions, the prospect of regenerating the entire set is undesirable when all you
wish to do is add a single function. At the same time, for more complex
examples, copy-pasting an existing example may result in a lot of editing.
Using a macro to generate a single example gives you another option for
cases in which you know there will be edits later.
Recording a code template. The simplest way to create a macro to generate
repetitive blocks of code is to use the macro recorder to record the creation
of one of the blocks, and then edit the macro to parameterize it. Open the
file you wish to create the function in and start the macro recorder
[Hack #51].
Create the function as you normally would, then stop the macro recorder.
For VB.NET users, it is important to turn off the “Automatic
insertion of end constructs” option before both recording and
playing back your macro. This option can be configured
through Tools
➝ Options ➝ Text Editor ➝ Basic ➝ VB Spe-
cific. Otherwise, your macro will insert multiple end con- ...