利用VS.NET 宏,根据私有变量生成属性定义,以加快开发速度

在编写代码时,往往需要根据定义的私有变量,生成属性定义;这一操作可以利用VS.NET宏实现,代码如下:
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 > 1Then
            TS.EndOfLine()
            TS.NewLine()
            TS.Insert(Insertion)
        
End If
    
End Sub

    
Private Function GetInsertion(ByVal text As StringAs 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即可以根据自定义的私有变量生成属性定义。

posted on 2008-05-11 22:03  巴山  阅读(421)  评论(0编辑  收藏  举报

导航