如何:在 Visual Basic 或 C# 代码编辑器中使用宏添加文本

更新:2007 年 11 月

可以使用扩展性对象模型将代码添加到任何 Visual Basic、Visual C# 或 Visual J# 代码编辑器中。该功能的可能用途包括添加新过程和添加标准注释块。该任务假定您知道如何访问宏开发环境和创建宏项目。有关更多信息,请参见 “添加宏项目”对话框。若要实现下面的宏示例,需要打开一个 Visual Basic 项目。

通过下面的步骤将文本添加到 Visual Basic 代码编辑器中。若要将代码添加到 Visual C# 代码编辑器中,请在步骤五 (5) 中使用 prjKindCSharpProject 枚举值。若要将代码添加到 Visual J# 代码编辑器中,请在步骤五 (5) 中使用 prjKindVJSharpProject 枚举值。

4wf883kx.alert_note(zh-cn,VS.90).gif说明:

显示的对话框和菜单命令可能会与“帮助”中的描述不同,具体取决于您的当前设置或版本。这些过程是使用现用的常规开发设置开发的。若要更改设置,请在“工具”菜单上选择“导入和导出设置”。有关更多信息,请参见 Visual Studio 设置

在活动的 Visual Basic 代码编辑器顶部添加文本

  1. 创建一个新的名为 EditorMacros 的宏模块。

  2. 通过将以下代码添加到该宏模块来创建一个新的宏 AddSomeText:

    Public Sub AddSomeText()
       ' Will add code here to add text.
    End Sub
    
  3. 声明并初始化一个变量来引用打开的代码编辑器。

    Dim doc As Document = DTE.ActiveDocument
    

    有关更多信息,请参见 Document 对象和 ActiveDocument 属性。

  4. Document 对象包含 TextDocument 对象,您可以使用 Object 方法访问此对象,如下所示。

    Dim textDoc As TextDocument = _
       CType(doc.Object("TextDocument"), TextDocument)
    
  5. 若要确保正在向 Visual Basic 代码编辑器添加代码,可以测试包含该窗口的项目的 Kind 属性。

    If doc.ProjectItem.ContainingProject.Kind = _
    VSLangProj.PrjKind.prjKindVBProject Then
       ' Add code here to insert text.
    End If
    
  6. 使用 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
    
  7. 保存该宏,关闭宏 IDE,然后从“宏资源管理器”运行该宏。

请参见

参考

ActiveDocument

Document

TextDocument