Introduction
This is a Visual Studio 2005 macro project which is intended to automate typical coding routines.
What's new?
Version 0.1.3
- Enhanced type parser, now it parses types of any complexity (nested generics, multi-arrays, etc.)
- "Word" macro now works with generic types
- New "
BaseConstructors
" macro has been added
Installation
To enable the GapeUpon
macros, you have to follow the steps:
- Open Visual Studio 2005
- Go View -> Other Windows -> Macro Explorer (or press Alt + F8).
- In the Macro Explorer panel Right click at the Macros node.
- In the context menu click the Load Macro Project... item.
- In the Add Macro Project Window specify where the gapeupon.vsmproj file from this package is
How to use the GapeUpon macros
After loading expand the GapeUpon
-> Development nodes in the Macro Explorer panel.
You can see the following macros:
BaseConstructors
GenerateConstructor
GenerateProperties
GuardConditions
Quotes
Undone
Word
Right click -> Run or Double click on any macro to run it.
Binding macros to the keyboard
Some macros like "Quotes" and "Word" are extremely helpful only when they are bound to the keyboard.
To bind a macro to the keyboard do the following:
- Go Tools -> Options...
- In the Options window go Environment -> Keyboard3
- Type gapeupon into the Show commands containing field
- Select a macro from the list below
- To assign shortcut keys for the selected macro place the cursor into the Press shortcut keys field and press desirable combination of keys on the keyboard which you want the macro to be bound to
- Press OK
Description
This section provides a quick review on what each macro does and how it could be applied.
BaseConstructors
Creates a set of constructors which correspond to the constructors of a base class if any. When we inherit a class from some base class which has a number of constructors we have to do a lot of work redeclaring our constructors in the way they conform with the constuctors of the base class. We have to feed all the base constructors with the parameters they require. This macro creates constructors redeclaring and passing parameters to the base constructors.
HOW TO RUN: Place cursor anywhere inside of the class and run the macro.
GenerateConstructor
Creates a parameterized constructor each parameter of which corresponds to a private
field of the class.
HOW TO RUN: Place cursor anywhere inside of the class and run the macro.
GenerateProperties
Generates properties for each private
field which does not have a corresponding property yet.
HOW TO RUN: Place cursor anywhere inside of the class and run the macro.
GuardConditions
Creates guard conditions for a method. If method takes a parameter of the reference type in most cases it must be checked for being not null
before use. Otherwise you are likely to get the "NullReferenceException
" error.
HOW TO RUN: Place cursor anywhere inside of the method and run the macro.
Quotes
Cycles the insertion of various types of quoted string. Simplifies putting variables into a string constant.
HOW TO RUN: Make sure the macro is bound to the keyboard (see "Binding macros to the keyboard" above). Keep hitting the macro's shortcut keys when you are editing a string constant and want to put quotes into it.
Undone
Places a #warning
directive inside a method you want to finish later. This directive reminds you each time when the project is being compiled by throwing out a compilation warning.
HOW TO RUN: Place cursor anywhere inside of the method and run the macro.
Word
Cycles variants of a variable's name based on the name of its type. Quite often the name of the variable is a part or the whole name of its type, so when we declare the variable we have to do the same work twice. This macro eliminates the routine work of naming variables.
HOW TO RUN: Make sure the macro is bound to the keyboard (see "Binding macros to the keyboard" above). Enter a type of a variable you want to declare and then hit the shortcut keys number of times.
See also
To see the current status and get latest releases, to report a bug or submit a feature, I request you to visit the GapeUpon project page at SourceForge.Net. I appreciate any feedback.