Click here to Skip to main content
65,938 articles
CodeProject is changing. Read more.
Articles
(untagged)

Productivity macros for C# in Visual Studio 2005

0.00/5 (No votes)
13 Mar 2007 1  
How to automate typical routine coding tasks in C# with the help of macros

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:

  1. Open Visual Studio 2005
  2. Go View -> Other Windows -> Macro Explorer (or press Alt + F8).
  3. In the Macro Explorer panel Right click at the Macros node.
  4. In the context menu click the Load Macro Project... item.
  5. 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:

  1. Go Tools -> Options...
  2. In the Options window go Environment -> Keyboard3
  3. Type gapeupon into the Show commands containing field
  4. Select a macro from the list below
  5. 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
  6. 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.

License

This article has no explicit license attached to it but may contain usage terms in the article text or the download files themselves. If in doubt please contact the author via the discussion board below.

A list of licenses authors might use can be found here