Практическое руководство. Использование макроса для добавления текста в редакторе кода Visual Basic или Visual C#
Обновлен: Ноябрь 2007
Можно использовать модель объектов расширяемости для добавления кода к любому редактору кода Visual Basic, Visual C# или Visual J#. Допускается использование этой функциональной возможности также для добавления новых процедур и стандартных блоков комментариев. Приведенные далее задачи предполагают наличие у пользователя навыков доступа к среде разработки макросов и создания проекта макроса. Дополнительные сведения см. в разделе Диалоговое окно "Добавление макропроекта". Для реализации следующего образца макроса требуется открытый проект Visual Basic.
Выполните следующие действия для добавления текста в редактор кода Visual Basic. Для добавления кода в редактор кода Visual C# используйте значение перечисления prjKindCSharpProject на шаге 5. Для добавления кода в редактор кода Visual J# используйте значение перечисления prjKindVJSharpProject на шаге 5.
Примечание. |
---|
Отображаемые диалоговые окна и команды меню могут отличаться от описанных в справке в зависимости от текущих параметров или версии среды. Эти процедуры были разработаны с обычными параметрами разработки. Чтобы изменить параметры, выберите пункт Импорт и экспорт параметров в меню Сервис. Дополнительные сведения см. в разделе Параметры Visual Studio. |
Добавление текста в начало активного редактора кода 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, можно создать точку редактирования в начале редактора. Затем для добавления текста к редактору воспользуйтесь методом 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
Сохраните макрос, закройте IDE макросов и запустите макрос из обозревателя макросов.