Использование Macro Explorer

Оценить
(1 голос)

Macro Explorer— это центральный инструмент интегрированной среды для управления макросами. Макросы организованы в проекты и модули. Например, созданный вами только что временный макрос виден в проекте MyMacros под модулем с именем RecordingModule и называется TemporaryMacro.

Если вы решили сохранить временный макрос, то Visual Studio автоматически переведет узел TemporaryMacro в режим редактирования (название будет выделено). Это подсказ­ка для того, чтобы вы врели имя для макроса. Нажатие клавиши <Enter> зафиксирует из­менение имени и сохранит макрос на диск. Если вы не измените имя, то макрос сохранен не будет.

При помощи Macro Explorer вы можете переименовывать или удалять макросы и выпол­нять их.

Для запуска макроса надо просто дважды щелкнуть его по узлу в Macro Explorer. Это при­ведет к автоматическому выполнению кода макроса. Во время выполнения макроса вы ви­дите анимированный значок и сообщение в строке состояния Visual Studio (рис. 12.2). Описание: C:\Users\Артём\Desktop\media\image287.jpeg

Совет

Макросы не имеют никакого встроенного (или "по умолчанию") механизма уведомле­ний, который мог бы сообщить вам о завершении макроса или о его ошибках. Если вы хотите отслеживать ход работы макроса, то вам нужно соответствующим образом из­менить свой' макрос, чтобы он выдавал сообщения в окно вывода (при помощи окон сообщений или другими способами).

Для того чтобы увидеть код (реализующий макрос) на языке Visual Basic, вам нужно щелк­нуть правой кнопкой мыши по макросу в окне Macro Explorer и выбрать пункт Edit. Это приведет к запуску интегрированной среды Macro. Вы можете также запустить эту интегри­рованную среду при помощи выбора Tools | Macros | Macros IDE (или нажатием комбина­ции клавиш <Ctrl>+<Fl 1>). Код, который был сгенерирован нашей предыдущей попыткой записи, показан в листинге 12.1. Команды удаления или переименования макроса, макромо­дуля или проекта макроса также находятся в контекстном меню в Macro Explorer.

Option Strict Off Option Explicit Off Imports System Imports EnvDTE Imports EnvDTE80 Imports EnvDTE90 Imports System.Diagnostics

Public Module RecordingModule Sub TemporaryMacro()

DTE.ActiveWindow.Object.GetItem

("ContosoCommonFramework\ArchitectureModels") .UIHierarchyItems .Expanded = True DTE.ActiveWindow.Obj ect.GetItem _

("ContosoCommonFramework\Class Libraries") .UIHierarchyItems .Expanded = True DTE.ActiveWindow.Obj ect.Getltem _

("ContosoCommonFramework\ClassLibraries\Contoso.Fx.Analysis\Properties"). _

UIHierarchyIterns.Expanded = True DTE.ActiveWindow.Object.Getltem _

("ContosoCommonFramework\ClassLibraries\Contoso.Fx.Analysis\References"). _ UIHierarchyltems.Expanded = True DTE.ActiveWindow.Object.Getltem _

("ContosoCommonFramework\ClassLibraries\Contoso.Fx.Common\Properties"). _ UIHierarchyltems.Expanded = True DTE.ActiveWindow.Obj ect.Getltem _

("ContosoCommonFramework\ClassLibraries\Contoso.Fx.Common\References"). _ UIHierarchyltems.Expanded = True DTE.ActiveWindow.Object.Getltem _

("ContosoCommonFramework\ClassLibraries\Contoso.Fx.Integration\Properties"). _ UIHierarchyltems.Expanded = True DTE.ActiveWindow.Object.Getltem _

("ContosoCommonFramework\ClassLibraries\Contoso.Fx.Integration\References"). _ UIHierarchyltems.Expanded = True DTE.ActiveWindow.Obj ect.Getltem _

("ContosoCommonFramework\Consoles\AdminConsole") . _

UIHierarchyItems.Expanded = True

DTE.ActiveWindow.Object.Getltem _

("ContosoCommonFramework\Consoles\HelloWorld"). _

UIHierarchyltems.Expanded = True

DTE.ActiveWindow.Object.Getltem _

("ContosoCommonFramework\Consoles").UIHierarchyltems.Expanded = True

DTE.ActiveWindow.Obj ect.GetItem _

("ContosoCommonFramework\Consoles\AdminConsole\Properties"). _

UIHierarchyltems.Expanded = True

DTE.ActiveWindow.Object.Getltem _

("ContosoCommonFramework\Consoles\AdIninConsole\References,,) . _

UIHierarchyltems.Expanded = True

DTE.ActiveWindow.Object.Getltem _

("ContosoCommonFramework\Consoles\HelloWorld\Properties") . _

UIHierarchyltems.Expanded = True

DTE.ActiveWindow.Object.Getltem _

("ContpsoCommonFramework\Consoles\HelloWorld\References") . _

UIHierarchyltems.Expanded = True

DTE.ActiveWindow.Obj ect.Getltem _

("ContosoCommonFramework\Consoles\HelloWorld\XMLSchemal.xsd"). _

UIHierarchyltems.Expanded = True

DTE.ActiveWindow.Object.Getltem _

("ContosoCommonFramework\Forms") .UIHierarchyltems.Expanded = True

DTE.ActiveWindow.Obj ect.GetItem _

("ContosoCommonFramework\Forms\Contoso.UI.WindowsForms.TestHost\Properties") . _

UIHierarchyltems.Expanded = True

DTE.ActiveWindow.Object.Getltem _

("ContosoCommonFramework\Forms\Contoso.UI. WindowsForms .TestHost\References") . _

UIHierarchyltems.Expanded = True

i

DTE.ActiveWindow.Object.Getltem _

("ContosoCommonFramework\Forms\Contoso.UI. WindowsForms .TestHost\Forml. j si") . _ UIHierarchyltems.Expanded = True DTE.ActiveWindow.Obj ect.Getltem _

("ContosoCommonFramework\C: \. . . \PortalSite\") . UIHierarchyltems . Expanded = True End Sub End Module

Создание макроса при помощи интегрированной среды Macro

Интегрированная среда Macro (рис. 12.3) является по существу специализированной верси­ей Visual Studio (избавленной от излишеств и упрощенной), предназначенной для разработ­ки макросов.

Вы сразу же заметите, что это фактически пользовательский интерфейс Visual Studio, с ко­торым вы уже привыкли к настоящему моменту работать. Все ведет себя точно так же: окна инструментов можно стыковать, они могут плавать, их можно прикреплять и т. д. Окно ре­дактора кода (которое вы используете для редактирования вашего макрокода) точно так же работает с IntelliSense, структурированием и всеми прочими средствами повышения произ­водительности, к которым вы уже привыкли. Несмотря на то, что интегрированная среда Macro ведет себя аналогично полномасштабной среде Visual Studio, имеются и отличия. На­пример, в ней поддерживаются не все окна инструментов и документов, имеющиеся в пол­ной интегрированной среде. Языковая поддержка в редакторе кода ограничена исключи­тельно Visual Basic (поскольку это единственный поддерживаемый макроязык), и вы не можете конструировать здесь формы или другие подобные элементы.

Работа с макропроектами
Совместное использование макросов
Добавление проекта
Написание макроса
Отладка

Добавить комментарий


Защитный код
Обновить

© 2017 www.visualstudios.ru. Все права защищены.