在使用VBCommenter生成XML格式的注释时,发现在<history></history>标签内的用户名是登陆系统的用户名,而我们的用户名一般是一些简称或其它英文名等,这样在注释中想记录开发人员的真实姓名就必须手工修改,颇不方便。是不是可以修改成自定义用户名呢?打开VBCommenter的工程看了看,发现修改很简单。
既然它使用的是登陆的用户名,那它很可能是通过Environment.UserName得到的,于是搜索“Environment.UserName”,果然搜索到一行:
4. 修改窗体frmSettings中OK按钮的Click事件处理代码如下:
5.以上都是辅助工作,最重要的是修改Template.VB中的下面这行代码:
sRes.Append(Environment.UserName)
修改成如下代码:
6. 重新编译,重新安装就OK了!
听说VB2005中写这种注释不需要插件了,不知道是否支持自定义用户名?
既然它使用的是登陆的用户名,那它很可能是通过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
''' <summary>
'''
''' </summary>
''' <remarks>
''' </remarks>
''' <history>
''' [胡丹] 2005-8-5 Created
''' </history>
''' -----------------------------------------------------------------------------
Public Sub New()
End Sub
但是这样也太不灵活了,只能自己使用,不够通用,那就加个配置用户名的功能吧。
1. 配置用户名的界面
直接利用frmSettings窗体,增加一个Label和TextBox用来修改用户名,界面如下:
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
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.Object, ByVal e As System.EventArgs) Handles MyBase.Load
'显示以前设置的自定义用户名(也可以加在sub new()中)
txtUserName.Text = myConfig.HistoryUserName
End Sub
'显示以前设置的自定义用户名(也可以加在sub new()中)
txtUserName.Text = myConfig.HistoryUserName
End Sub
4. 修改窗体frmSettings中OK按钮的Click事件处理代码如下:
Private Sub btnOk_Click(ByVal sender As System.Object, ByVal 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
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)
'sRes.Append(Environment.UserName)
'专用的话,只需使用下面这行
'sRes.Append("胡丹")
'使用自定义的用户名
sRes.Append(Configuration.GetInstance().HistoryUserName)
6. 重新编译,重新安装就OK了!
听说VB2005中写这种注释不需要插件了,不知道是否支持自定义用户名?