Click here to Skip to main content
6,292,426 members and growing! (11,906 online)
Email Password   helpLost your password?
Languages » C# » General     Intermediate License: A Public Domain dedication

Productivity macros for C# in Visual Studio 2005

By Aleksey Bykov

How to automate typical routine coding tasks in C# with the help of macros
C# 2.0, VB 8.0, Windows, .NET 2.0VS2005, Dev
Posted:7 Mar 2007
Updated:13 Mar 2007
Views:25,501
Bookmarked:33 times
Announcements
Loading...
 
Search    
Advanced Search
printPrint   Broken Article?Report       add Share
  Discuss Discuss   Recommend Article Email
8 votes for this article.
Popularity: 4.10 Rating: 4.55 out of 5

1

2
1 vote, 12.5%
3
1 vote, 12.5%
4
6 votes, 75.0%
5

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, along with any associated source code and files, is licensed under A Public Domain dedication

About the Author

Aleksey Bykov


Member
C# .NET developer since 2002
Location: United States United States

Other popular C# articles:

Article Top
You must Sign In to use this message board.
FAQ FAQ 
 
Noise Tolerance  Layout  Per page   
 Msgs 1 to 10 of 10 (Total in Forum: 10) (Refresh)FirstPrevNext
QuestionHow do you create a .vsmproj file? PinmemberSirGnip3:21 30 May '09  
AnswerRe: How do you create a .vsmproj file? PinmemberAleksey Bykov15:23 30 May '09  
GeneralRe: How do you create a .vsmproj file? PinmemberSirGnip16:24 30 May '09  
GeneralRe: How do you create a .vsmproj file? PinmemberAleksey Bykov18:32 30 May '09  
AnswerRe: How do you create a .vsmproj file? PinmemberSirGnip5:45 1 Jun '09  
QuestionMacros not working PinmemberPeeyush1191:56 8 Apr '08  
NewsMore macros PinmemberDan Handevik15:05 13 Mar '07  
GeneralRe: More macros PinmemberAleksey Bykov4:45 14 Mar '07  
GeneralVisual Studio 2003 Pinmemberpinturic7:12 13 Mar '07  
GeneralRe: Visual Studio 2003 PinmemberAleksey Bykov4:40 14 Mar '07  

General General    News News    Question Question    Answer Answer    Joke Joke    Rant Rant    Admin Admin   

PermaLink | Privacy | Terms of Use
Last Updated: 13 Mar 2007
Editor: Deeksha Shenoy
Copyright 2007 by Aleksey Bykov
Everything else Copyright © CodeProject, 1999-2009
Web17 | Advertise on the Code Project