Login | Register   
LinkedIn
Google+
Twitter
RSS Feed
Download our iPhone app
TODAY'S HEADLINES  |   ARTICLE ARCHIVE  |   FORUMS  |   TIP BANK
Browse DevX
Sign up for e-mail newsletters from DevX


Tip of the Day
Language: VB7
Expertise: Intermediate
Jul 20, 2002

Quickly swap assignment operands

It often happens that you need to swap the operands of an assignment. For example, say that you have this set of assignments:

p1.FirstName = m_FirstName
p1.LastName = m_LastName
and later in your source code you want to add a similar set of assignments, but with reversed operands:

m_FirstName = p1.FirstName
m_LastName = p1.LastName
Here's a macro that lets you perform this operation automatically:

Sub SwapOperands()
    DTE.ActiveDocument.Selection.StartOfLine _
        (vsStartOfLineOptions.vsStartOfLineOptionsFirstText)
    DTE.ExecuteCommand("Edit.Find")
    DTE.Find.Action = vsFindAction.vsFindActionFind
    DTE.Find.FindWhat = "="
    DTE.Find.Target = vsFindTarget.vsFindTargetCurrentDocument
    DTE.Find.MatchCase = False
    DTE.Find.MatchWholeWord = False
    DTE.Find.Backwards = False
    DTE.Find.MatchInHiddenText = False
    DTE.Find.PatternSyntax = vsFindPatternSyntax.vsFindPatternSyntaxLiteral
    DTE.Find.Execute()
    DTE.Windows.Item(Constants.vsWindowKindFindReplace).Close()
    DTE.ActiveDocument.Selection.Delete()
    DTE.ActiveDocument.Selection.StartOfLine _
        (vsStartOfLineOptions.vsStartOfLineOptionsFirstText, True)
    DTE.ActiveDocument.Selection.Cut()
    DTE.ActiveDocument.Selection.EndOfLine()
    DTE.ActiveDocument.Selection.Text = "= "
    DTE.ActiveDocument.Selection.Paste()
End Sub
For best usability, you should store this macro in a macro module, then assign a convenient shortcut to it, for example (two keystrokes): Ctrl-Shift-V, Ctrl-Shift-V. You can do this assignment from the Keyboard page in the Tools-Options dialog box. To execute the macro, place the caret on the assignment statement and press the shortcut you assigned to it.
Francesco Balena
 
Comment and Contribute

 

 

 

 

 


(Maximum characters: 1200). You have 1200 characters left.

 

 

Sitemap
Thanks for your registration, follow us on our social networks to keep up-to-date