如何:在 Visual Basic 或 C# 代码编辑器中使用宏添加文本
您可以使用扩展性对象模型将代码添加到任何 Visual Basic 或 Visual C# 代码编辑器中。 该功能的可能用途包括添加新过程和添加标准注释块。 该任务假定您知道如何访问宏开发环境和创建宏项目。 有关更多信息,请参见 “添加宏项目”对话框。 若要实现下面的宏示例,需要打开一个 Visual Basic 项目。
通过下面的步骤将文本添加到 Visual Basic 代码编辑器中。 若要将代码添加到 Visual C# 代码编辑器,请使用步骤五 (5) 中的 prjKindCSharpProject 枚举值。
提示
显示的对话框和菜单命令可能会与“帮助”中的描述不同,具体取决于您现用的设置或版本。 这些过程是在“常规开发设置”处于活动状态时开发的。 若要更改设置,请在“工具”菜单上选择“导入和导出设置”。 有关更多信息,请参见 使用设置。
在活动的 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,然后从**“Macro 资源管理器”**运行该宏。