Search Forum
(57415 Postings)
Search Site/Articles

Archived Articles
712 Articles

C# Books
C# Consultants
What Is C#?
Download Compiler
Code Archive
Archived Articles
Advertise
Contribute
C# Jobs
Beginners Tutorial
C# Contractors
C# Consulting
Links
C# Manual
Contact Us
Legal

GoDiagram for .NET from Northwoods Software www.nwoods.com


              
Printable Version

Visual Studio .Net Macros for Quick Insertion of C# Conditional and Iteration Statements
By Kevin McFarlane

To use, open Macro Explorer and copy and paste into an existing or new macro project. To run a macro place the cursor at the required insertion point in your document and double-click the name of the macro in Macro Explorer. You may wish to define more convenient keyboard shortcuts for each macro via the Tools | Customize menu.

Imports EnvDTE
Imports System.Diagnostics

Public Module CSharp
    ' Description: Inserts for loop
    Sub ForLoop()
        DTE.ActiveDocument.Selection.Text = "for (int i = 0; i < ; i++)"
        DTE.ActiveDocument.Selection.NewLine()
        DTE.ActiveDocument.Selection.Text = "{"
        DTE.ActiveDocument.Selection.NewLine()
        DTE.ActiveDocument.Selection.NewLine()
        DTE.ActiveDocument.Selection.Text = "}"
        DTE.ActiveDocument.Selection.LineUp(False, 3)
        DTE.ActiveDocument.Selection.CharRight(False, 19)
    End Sub

    ' Description: Inserts while loop
    Sub WhileLoop()
        DTE.ActiveDocument.Selection.Text = "while ()"
        DTE.ActiveDocument.Selection.NewLine()
        DTE.ActiveDocument.Selection.Text = "{"
        DTE.ActiveDocument.Selection.NewLine()
        DTE.ActiveDocument.Selection.NewLine()
        DTE.ActiveDocument.Selection.Text = "}"
        DTE.ActiveDocument.Selection.LineUp(False, 3)
        DTE.ActiveDocument.Selection.CharRight(False, 6)
    End Sub

    ' Description: Inserts do-while loop
    Sub DoWhileLoop()
        DTE.ActiveDocument.Selection.Text = "do"
        DTE.ActiveDocument.Selection.NewLine()
        DTE.ActiveDocument.Selection.Text = "{"
        DTE.ActiveDocument.Selection.NewLine()
        DTE.ActiveDocument.Selection.NewLine()
        DTE.ActiveDocument.Selection.Text = "} while ();"
        DTE.ActiveDocument.Selection.CharLeft(False, 2)
    End Sub

    ' Description: Inserts foreach loop
    Sub ForEach()
        DTE.ActiveDocument.Selection.Text = "foreach ( in )"
        DTE.ActiveDocument.Selection.NewLine()
        DTE.ActiveDocument.Selection.Text = "{"
        DTE.ActiveDocument.Selection.NewLine()
        DTE.ActiveDocument.Selection.NewLine()
        DTE.ActiveDocument.Selection.Text = "}"
        DTE.ActiveDocument.Selection.LineUp(False, 3)
        DTE.ActiveDocument.Selection.CharRight(False, 8)
    End Sub

    'Description: Inserts if block
    Sub IfNoElse()
        DTE.ActiveDocument.Selection.Text = "if ()"
        DTE.ActiveDocument.Selection.NewLine()
        DTE.ActiveDocument.Selection.Text = "{"
        DTE.ActiveDocument.Selection.NewLine()
        DTE.ActiveDocument.Selection.NewLine()
        DTE.ActiveDocument.Selection.Text = "}"
        DTE.ActiveDocument.Selection.LineUp(False, 3)
        DTE.ActiveDocument.Selection.CharRight(False, 3)
    End Sub

    ' Description: Inserts if-else block
    Sub IfElse()
        DTE.ActiveDocument.Selection.Text = "if ()"
        DTE.ActiveDocument.Selection.NewLine()
        DTE.ActiveDocument.Selection.Text = "{"
        DTE.ActiveDocument.Selection.NewLine()
        DTE.ActiveDocument.Selection.NewLine()
        DTE.ActiveDocument.Selection.Text = "}"
        DTE.ActiveDocument.Selection.NewLine()
        DTE.ActiveDocument.Selection.Text = "else"
        DTE.ActiveDocument.Selection.NewLine()
        DTE.ActiveDocument.Selection.Text = "{"
        DTE.ActiveDocument.Selection.NewLine()
        DTE.ActiveDocument.Selection.NewLine()
        DTE.ActiveDocument.Selection.Text = "}"
        DTE.ActiveDocument.Selection.LineUp(False, 7)
        DTE.ActiveDocument.Selection.CharRight(False, 3)
    End Sub

    ' Description: Inserts switch block
    Sub Switch()
        DTE.ActiveDocument.Selection.Text = "switch ()"
        DTE.ActiveDocument.Selection.NewLine()
        DTE.ActiveDocument.Selection.Text = "{"
        DTE.ActiveDocument.Selection.NewLine()
        DTE.ActiveDocument.Selection.Text = "case :"
        DTE.ActiveDocument.Selection.NewLine()
        DTE.ActiveDocument.Selection.Text = "break;"
        DTE.ActiveDocument.Selection.NewLine()
        DTE.ActiveDocument.Selection.Text = "case :"
        DTE.ActiveDocument.Selection.NewLine()
        DTE.ActiveDocument.Selection.Text = "break;"
        DTE.ActiveDocument.Selection.NewLine()
        DTE.ActiveDocument.Selection.Text = "default:"
        DTE.ActiveDocument.Selection.NewLine()
        DTE.ActiveDocument.Selection.Text = "break;"
        DTE.ActiveDocument.Selection.NewLine()
        DTE.ActiveDocument.Selection.Text = "}"
        DTE.ActiveDocument.Selection.LineUp(False, 8)
        DTE.ActiveDocument.Selection.CharRight(False, 7)
    End Sub

    ' Description: Inserts generic exception block
    Sub Exception()
        DTE.ActiveDocument.Selection.Text = "try"
        DTE.ActiveDocument.Selection.NewLine()
        DTE.ActiveDocument.Selection.Text = "{"
        DTE.ActiveDocument.Selection.NewLine()
        DTE.ActiveDocument.Selection.NewLine()
        DTE.ActiveDocument.Selection.Text = "}"
        DTE.ActiveDocument.Selection.NewLine()
        DTE.ActiveDocument.Selection.Text = "catch (System.Exception ex)"
        DTE.ActiveDocument.Selection.NewLine()
        DTE.ActiveDocument.Selection.Text = "{"
        DTE.ActiveDocument.Selection.NewLine()
        DTE.ActiveDocument.Selection.NewLine()
        DTE.ActiveDocument.Selection.Text = "}"
        DTE.ActiveDocument.Selection.LineUp(False, 5)
    End Sub

End Module