hudan's blog

    学海无涯,回头是岸

博客园 首页 新随笔 联系 订阅 管理
    在使用VBCommenter生成XML格式的注释时,发现在<history></history>标签内的用户名是登陆系统的用户名,而我们的用户名一般是一些简称或其它英文名等,这样在注释中想记录开发人员的真实姓名就必须手工修改,颇不方便。是不是可以修改成自定义用户名呢?打开VBCommenter的工程看了看,发现修改很简单。
既然它使用的是登陆的用户名,那它很可能是通过Environment.UserName得到的,于是搜索“Environment.UserName”,果然搜索到一行:

sRes.Append(Environment.UserName)

我把这行代码改成:

sRes.Append(“胡丹”)

重新编译工程,重新安装VBCommenter,敲入’’’,然后回车,果然是变过来了:

    ''' -----------------------------------------------------------------------------
    ''' <summary>
    ''' 
    ''' </summary>
    ''' <remarks>
    ''' </remarks>
    ''' <history>
    '''     [胡丹]    2005-8-5    Created
    ''' </history>
    ''' -----------------------------------------------------------------------------
    Public Sub New()

    
End Sub

   但是这样也太不灵活了,只能自己使用,不够通用,那就加个配置用户名的功能吧。

1. 配置用户名的界面
    直接利用frmSettings窗体,增加一个LabelTextBox用来修改用户名,界面如下:

 

2. 在Configuration.vb中增加下面的属性:
 

    '自定义用户名保存在注册表中的键名
    Private Const keyHistoryUserName As String = "HistoryUserName"

    ''' -----------------------------------------------------------------------------
    ''' <summary>
    ''' 自定义用户名
    ''' </summary>
    ''' <value></value>
    ''' <remarks>
    ''' </remarks>
    ''' <history>
    '''     [胡丹]    2005-8-5    Created
    ''' </history>
    ''' -----------------------------------------------------------------------------
    <ComponentModel.Category("General"), _
    ComponentModel.Description(
"UserName"), _
    ComponentModel.DefaultValue(
"Environment.UserName")> _
    
Public Property HistoryUserName() As String
        
Get
            
Return mConfigImp.GetSetting(keyHistoryUserName, System.Environment.UserName)
        
End Get
        
Set(ByVal sValue As String)
            mConfigImp.SetSetting(keyHistoryUserName, sValue)
        
End Set
    
End Property

3.frmSettings.vb中添加如下代码:

    Private Sub frmSettings_Load(ByVal sender As System.ObjectByVal e As System.EventArgs) Handles MyBase.Load
        
'显示以前设置的自定义用户名(也可以加在sub new()中)
        txtUserName.Text = myConfig.HistoryUserName
    
End Sub

4. 修改窗体frmSettings中OK按钮的Click事件处理代码如下:

   Private Sub btnOk_Click(ByVal sender As System.ObjectByVal e As System.EventArgs) Handles btnOk.Click
        myConfig.CreateXMLFiles 
= Me.chkBuildXML.Checked
        myConfig.AddHistoryTags 
= Me.chkHistory.Checked
        myConfig.InsertXMLComments 
= Me.chkInsertComments.Checked
        myConfig.XMLCommentPrefix 
= Me.txtPrefix.Text.Trim

        
'保存自定义用户名
        '实际上它被保存在注册表的下面的位置:
        '[HKEY_CURRENT_USER\Software\PowerToys for Visual Studio .NET 2003\VBCommenter]
        myConfig.HistoryUserName = Me.txtUserName.Text.Trim
    
End Sub

5.以上都是辅助工作,最重要的是修改Template.VB中的下面这行代码:

    sRes.Append(Environment.UserName)

  修改成如下代码:

        '默认
        'sRes.Append(Environment.UserName)

        
'专用的话,只需使用下面这行
        'sRes.Append("胡丹")

        
'使用自定义的用户名
        sRes.Append(Configuration.GetInstance().HistoryUserName)

6. 重新编译,重新安装就OK了!


听说VB2005中写这种注释不需要插件了,不知道是否支持自定义用户名?
posted on 2005-08-05 18:57  回头重来  阅读(1374)  评论(2编辑  收藏  举报