在编写代码时,往往需要根据定义的私有变量,生成属性定义;这一操作可以利用VS.NET宏实现,代码如下: Sub TemporaryMacro() Sub TemporaryMacro() Dim TS As TextSelection = DTE.ActiveDocument.Selection Dim Insertion As String, Line As String Dim Lines() As String = TS.Text.Split(vbNewLine) ' 针对选中部分的每一行,返回相应的属性过程 Insertion = vbNewLine For Each Line In Lines Insertion &= GetInsertion(Line) Next If (Insertion.Length > 1) Then TS.EndOfLine() TS.NewLine() TS.Insert(Insertion) End If End Sub Private Function GetInsertion() Function GetInsertion(ByVal text As String) As String Dim Words() As String = text.Trim.Split() If Words.Length < 3 Then ' 该行内容不是一个合法的变量声明 Return "" Else Dim Insertion As String Insertion &= vbTab & vbTab & "/// <summary>" Insertion &= vbNewLine Insertion &= vbTab & vbTab & "///" Insertion &= vbNewLine Insertion &= vbTab & vbTab & "/// </summary>" ' 如果不想要XML注释,那前面这几行可以不要 Insertion &= vbNewLine Insertion &= vbTab & vbTab & "public " & Words(1) & " " & Words(2).TrimStart("m").TrimStart("_")..TrimEnd(";") '我的私有变量是以“m_”开始的 Insertion &= vbNewLine Insertion &= vbTab & vbTab & "{ " Insertion &= vbNewLine Insertion &= vbTab & vbTab & vbTab & "get { return " & Words(2) & " }" Insertion &= vbNewLine Insertion &= vbTab & vbTab & vbTab & "set { " & Words(2).TrimEnd(";") & " = value;}" Insertion &= vbNewLine Insertion &= vbTab & vbTab & "}" Insertion &= vbNewLine Return Insertion End If End Function 将上面的代码放到VS.NET宏中,然后选中定义的私有变量,再Ctrl+Shift+P即可以根据自定义的私有变量生成属性定义。