devxlogo

Transform a variable into a Property

Transform a variable into a Property

Thanks to Visual Studio.NET macros, it is quite simple to automate the task of transforming a Public field into a Property with the same name that accesses a private field of the same type.

Press Alt-F11 (or invoke the Macro IDE from the Tools|Macros submenu, select one macro module in the left-most treeview, and double-click on it to bring up the corresponding code module. Now cut and paste the following procedure:

Sub MorphVariableIntoProperty()    DTE.ActiveDocument.Selection.StartOfLine _        (vsStartOfLineOptions.vsStartOfLineOptionsFirstText)    DTE.ActiveDocument.Selection.WordRight(True)    DTE.ActiveDocument.Selection.Delete()    DTE.ActiveDocument.Selection.Text = "Private m_"    DTE.ActiveDocument.Selection.EndOfLine(True)    DTE.ActiveDocument.Selection.Copy()    DTE.ActiveDocument.Selection.EndOfLine()    DTE.ActiveDocument.Selection.NewLine(2)    DTE.ActiveDocument.Selection.Text = "Public Property "    DTE.ActiveDocument.Selection.Paste()    DTE.ActiveDocument.Selection.NewLine()    DTE.ActiveDocument.Selection.LineUp(False, 2)    DTE.ActiveDocument.Selection.StartOfLine _        (vsStartOfLineOptions.vsStartOfLineOptionsFirstText)    DTE.ActiveDocument.Selection.WordRight(False, 2)    DTE.ActiveDocument.Selection.WordRight(True)    DTE.ActiveDocument.Selection.Copy()    DTE.ActiveDocument.Selection.LineDown(False, 2)    DTE.ActiveDocument.Selection.Indent(2)    DTE.ActiveDocument.Selection.Text = "Return m_"    DTE.ActiveDocument.Selection.Paste()    DTE.ActiveDocument.Selection.LineDown(False, 3)    DTE.ActiveDocument.Selection.Indent(2)    DTE.ActiveDocument.Selection.Text = "m_"    DTE.ActiveDocument.Selection.Paste()    DTE.ActiveDocument.Selection.Text = "= Value"End Sub

Next, bring up the Tools-Options dialog box, go to Keyboard page, and assign a shortcut key combination to the Morph

devx-admin

Share the Post: