如何:在 Visual Basic 或 C# 代码编辑器中使用宏添加文本
更新:2007 年 11 月
可以使用扩展性对象模型将代码添加到任何 Visual Basic、Visual C# 或 Visual J# 代码编辑器中。该功能的可能用途包括添加新过程和添加标准注释块。该任务假定您知道如何访问宏开发环境和创建宏项目。有关更多信息,请参见 “添加宏项目”对话框。若要实现下面的宏示例,需要打开一个 Visual Basic 项目。
通过下面的步骤将文本添加到 Visual Basic 代码编辑器中。若要将代码添加到 Visual C# 代码编辑器中,请在步骤五 (5) 中使用 prjKindCSharpProject 枚举值。若要将代码添加到 Visual J# 代码编辑器中,请在步骤五 (5) 中使用 prjKindVJSharpProject 枚举值。
说明: |
---|
显示的对话框和菜单命令可能会与“帮助”中的描述不同,具体取决于您的当前设置或版本。这些过程是使用现用的常规开发设置开发的。若要更改设置,请在“工具”菜单上选择“导入和导出设置”。有关更多信息,请参见 Visual Studio 设置。 |
在活动的 Visual Basic 代码编辑器顶部添加文本
创建一个新的名为 EditorMacros 的宏模块。
通过将以下代码添加到该宏模块来创建一个新的宏 AddSomeText:
Public Sub AddSomeText() ' Will add code here to add text. End Sub
声明并初始化一个变量来引用打开的代码编辑器。
Dim doc As Document = DTE.ActiveDocument
有关更多信息,请参见 Document 对象和 ActiveDocument 属性。
Document 对象包含 TextDocument 对象,您可以使用 Object 方法访问此对象,如下所示。
Dim textDoc As TextDocument = _ CType(doc.Object("TextDocument"), TextDocument)
若要确保正在向 Visual Basic 代码编辑器添加代码,可以测试包含该窗口的项目的 Kind 属性。
If doc.ProjectItem.ContainingProject.Kind = _ VSLangProj.PrjKind.prjKindVBProject Then ' Add code here to insert text. End If
使用 TextDocument 对象在编辑器的开头创建一个编辑点。然后使用 Selection 属性的 Insert 方法向编辑器添加文本。有关更多信息,请参见 CreateEditPoint 方法和 Selection 属性。
textDoc.StartPoint.CreateEditPoint() textDoc.Selection.Insert("' A comment")
完整的宏显示在下面:
Public Sub AddSomeText() Dim doc As Document = DTE.ActiveDocument Dim textDoc As TextDocument = _ CType(doc.Object("TextDocument"), TextDocument) If doc.ProjectItem.ContainingProject.Kind = _ VSLangProj.PrjKind.prjKindVBProject Then textDoc.StartPoint.CreateEditPoint() textDoc.Selection.Insert("' A comment") End If End Sub
保存该宏,关闭宏 IDE,然后从“宏资源管理器”运行该宏。