Cómo: Utilizar una macro para agregar texto a un editor de código de Visual Basic o C#
Se puede usar el modelo de objetos de extensibilidad para agregar código a cualquier editor de código de Visual Basic o Visual C#. Entre los usos posibles para esta función se incluyen la adición de nuevos procedimientos y de bloques de comentarios estándar. Esta tarea asume que sabe cómo tener acceso al entorno de desarrollo de macros y cómo crear un proyecto de macros. Para obtener más información, vea Agregar proyecto de macros (Cuadro de diálogo). Para implementar la siguiente macro de ejemplo, debe tener abierto un proyecto de Visual Basic.
Los siguientes pasos agregan texto a un editor de código de Visual Basic. Para agregar código a un editor de código de Visual C#, use el valor de enumeración prjKindCSharpProject en el paso cinco (5).
Nota
Los cuadros de diálogo y comandos de menú que se ven pueden diferir de los descritos en la Ayuda, en función de los valores de configuración o de edición activos. Estos procedimientos se han desarrollado con la Configuración de desarrollo general activa. Para cambiar la configuración, elija la opción Importar y exportar configuraciones del menú Herramientas. Para obtener más información, vea Trabajar con valores de configuración.
Para agregar texto al principio del editor de código activo de Visual Basic
Cree un nuevo módulo de macros denominado EditorMacros.
Cree una nueva macro, AddSomeText, mediante la adición del siguiente código al módulo de macros:
Public Sub AddSomeText() ' Will add code here to add text. End Sub
Declare e inicialice una variable para hacer referencia al editor de código abierto.
Dim doc As Document = DTE.ActiveDocument
Para obtener más información vea el objeto Document y la propiedad ActiveDocument.
El objeto Document contiene un objeto TextDocument, al cual se puede tener acceso con el método Object, como se muestra a continuación.
Dim textDoc As TextDocument = _ CType(doc.Object("TextDocument"), TextDocument)
Para asegurarse de que está agregando código al editor de código de Visual Basic, puede comprobar la propiedad Kind del proyecto que contiene la ventana.
If doc.ProjectItem.ContainingProject.Kind = _ VSLangProj.PrjKind.prjKindVBProject Then ' Add code here to insert text. End If
Con el objeto TextDocument, cree un punto de edición al principio del editor. A continuación, utilice el método Insert de la propiedad Selection para agregar texto al editor. Para obtener más información, vea el método CreateEditPoint y la propiedad Selection.
textDoc.StartPoint.CreateEditPoint() textDoc.Selection.Insert("' A comment")
A continuación se muestra la macro completa:
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
Guarde la macro, cierre el IDE de macros y ejecute la macro desde el Explorador de macros.