Поделиться через


Практическое руководство. Использование макроса для добавления текста в редакторе кода Visual Basic или Visual C#

Обновлен: Ноябрь 2007

Можно использовать модель объектов расширяемости для добавления кода к любому редактору кода Visual Basic, Visual C# или Visual J#. Допускается использование этой функциональной возможности также для добавления новых процедур и стандартных блоков комментариев. Приведенные далее задачи предполагают наличие у пользователя навыков доступа к среде разработки макросов и создания проекта макроса. Дополнительные сведения см. в разделе Диалоговое окно "Добавление макропроекта". Для реализации следующего образца макроса требуется открытый проект Visual Basic.

Выполните следующие действия для добавления текста в редактор кода Visual Basic. Для добавления кода в редактор кода Visual C# используйте значение перечисления prjKindCSharpProject на шаге 5. Для добавления кода в редактор кода Visual J# используйте значение перечисления prjKindVJSharpProject на шаге 5.

4wf883kx.alert_note(ru-ru,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, можно создать точку редактирования в начале редактора. Затем для добавления текста к редактору воспользуйтесь методом Insert свойства Selection. Для получения дополнительных сведений см. метод 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