//===============================================================================
// Date Created: 2005年8月15日
// Created By: Generated by CodeSmith
//===============================================================================在程序中经常要进行这样的注释,能不能自动生成,尤其是日期.在VS2003中有这样的功能吗?
// Date Created: 2005年8月15日
// Created By: Generated by CodeSmith
//===============================================================================在程序中经常要进行这样的注释,能不能自动生成,尤其是日期.在VS2003中有这样的功能吗?
<System.ContextStaticAttribute()> _
Public WithEvents csharpProjectItemsEvents As EnvDTE.ProjectItemsEventsPrivate Sub DTEEvents_OnStartupComplete() Handles DTEEvents.OnStartupComplete
csharpProjectItemsEvents = DTE.Events.GetObject("CSharpProjectItemsEvents")
End Sub Private Sub csharpProjectItemsEvents_ItemAdded(ByVal ProjectItem As EnvDTE.ProjectItem) Handles csharpProjectItemsEvents.ItemAdded
Dim textDocument As EnvDTE.TextDocument
Dim startPoint As EditPoint textDocument = DTE.ActiveDocument.Object("TextDocument")
startPoint = textDocument.StartPoint.CreateEditPoint()
startPoint .Insert("Your string")End Sub
vs.net使用的自动化模型继承于vc++6.0,宏只能用vb.net写,但是功能不限
每个宏项目都有一个EnvironmentEvents文件,这里通过左边下拉选择变量,右侧下拉选择事件,生成事件handle。方式有点怪,因为vs.net是com的缘故
你的问题我给出的回答基于如下,如果项目中加入一个新文件,那么就在该文件头加入注释。这里没有判断文件类型,也没定义注释内容,这些你可以方便自定义
<System.ContextStaticAttribute()> _
Public WithEvents csharpProjectItemsEvents As EnvDTE.ProjectItemsEvents
定义c#项目事件,项目事件特殊,默认没有下拉选择的,定义后才有Private Sub DTEEvents_OnStartupComplete() Handles DTEEvents.OnStartupComplete
csharpProjectItemsEvents = DTE.Events.GetObject("CSharpProjectItemsEvents")
End Sub
右侧选择DTEEvents,左侧选择OnStartupComplete,该事件是vs.net ide启动完成后触发
csharpProjectItemsEvents = DTE.Events.GetObject("CSharpProjectItemsEvents")
获取ide的c#项目事件给定义,
右侧选择csharpProjectItemsEvents,左侧选择ItemAdded事件Private Sub csharpProjectItemsEvents_ItemAdded(ByVal ProjectItem As EnvDTE.ProjectItem) Handles csharpProjectItemsEvents.ItemAdded
Dim textDocument As EnvDTE.TextDocument
文本文档
Dim startPoint As EditPoint
编辑点,自动化模型方式 textDocument = DTE.ActiveDocument.Object("TextDocument")
当前文档的文本文档,还可以有设计文档,ide中部文档窗体
startPoint = textDocument.StartPoint.CreateEditPoint()
开始点
startPoint.Insert("Your string")
插入
End Sub
自动化模型参照msdn,Object方法是IQueryInterface接口,可能会有些不适应
你的问题我想想,还有一个方法,就是自定义wizard,替换vs.net现用的那个,这样可以区分existing item和new item