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

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

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

提示

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

在活动的 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,然后从**“Macro 资源管理器”**运行该宏。

请参见

参考

ActiveDocument

Document

TextDocument