Пишем макросы

Оценить
(1 голос)
В предыдущей главе мы изучили интерфейс прикладного программирования (API), имею­щийся у разработчиков для настройки и управления различными частями интегрированной среды Visual Studio. Данная глава основывается на этих знаниях и показывает вам, как пи­сать макросы, которые используют объектную модель расширяемости. Задача макроса— обеспечить вам способ написания ваших собственных модулей расшире­ния. В предыдущих главах вы видели множество функций интегрированной среды, которые автоматизируют повторяющиеся задачи. Встроенная поддержка рефакторинга, технология автоматического дописывания слов IntelliSense, фрагменты кода — вот только некоторые из таких функций. И по мере того как вы разрабатываете решения в Visual Studio, вы будете выполнять все больше повторяющихся задач, которые просто просят…
Оценить
(1 голос)
Простейший способ создать макрос — это записать его: для этого надо просто включить в Visual Studio запись макросов и выполнить серию действий в интегрированной среде. Запись макросов превратит ваше взаимодействие с интегрированной средой в макрокод. Для начала записи макроса выберите Tools | Macros | Record Temporary Macro (или на­жмите комбинацию клавиш <Shift>+<Ctrl>+<R>). После этого немедленно начинается запись; для того чтобы вы могли управлять процессом записи, появится маленькая панель инструментов (рис. 12.1). Рис. 12.1. Панель инструментов Macro Recorder Три кнопки панели инструментов дают вам возможность приостановить и возобновить запись, остановить запись или отменить ее. Приостановка записи прекращает запись ваших действий в…
Оценить
(1 голос)
Macro Explorer— это центральный инструмент интегрированной среды для управления макросами. Макросы организованы в проекты и модули. Например, созданный вами только что временный макрос виден в проекте MyMacros под модулем с именем RecordingModule и называется TemporaryMacro. Если вы решили сохранить временный макрос, то Visual Studio автоматически переведет узел TemporaryMacro в режим редактирования (название будет выделено). Это подсказ­ка для того, чтобы вы врели имя для макроса. Нажатие клавиши <Enter> зафиксирует из­менение имени и сохранит макрос на диск. Если вы не измените имя, то макрос сохранен не будет. При помощи Macro Explorer вы можете переименовывать или удалять макросы и выпол­нять их. Для запуска…
Оценить
(1 голос)
Окно инструмента Project Explorer работает на тех же принципах, что и Solution Explorer; оно отображает древовидное представление ваших используемых для работы элементов. В случае макросов узлы дерева организованы таким образом: проект —> модуль. Отдельные макросы отображаются в окне редактора кода (обратите внимание, что это по сути точно то же, что и представление Macro Explorer, за исключением того, что дерево Macro Explorer показывает каждый отдельный макрос поименно). В нашем случае мы записали временный макрос, и он виден в проекте MyMacros в мщ\ к RecordingModule. Если вы вернетесь к рис. 12.3, то увидите часть кода, которая бы ui созда­на при записи макроса;…
Оценить
(1 голос)
Возможно, вы будете удивлены, когда узнаете, что формат хранения по умолчанию для макросов — двоичный. С технической точки зрения vsmacros-файл является файлом хране­ния с COM-структурой; внутри этого файла находится весь исходный код для всех макросов проекта. Для того чтобы поделиться макромодулем с другими, вы можете экспортировать данный модуль в файл Visual Basic (vb-файл). Для этого необходимо сделать следующее: 1.   Щелкнуть правой кнопкой мыши макромодуль в Project Explorer среды Macro. 2.   Выбрать пункт Export ModuleName. Появится диалоговое окно Export File (рис. 12.4). 3.   Выберите местоположение и имя файла, после чего макрос будет записан в файл в виде простого текста. После экспорта…
Оценить
(0 голоса)
Как ни странно, но возможность добавить макропроект в среде Macro отсутствует. Иначе говоря, нет команды File | Open для открывания vsmacro-файла. Есть, однако, способ сде­лать это в среде Visual Studio: выберите Tools | Macros | Load Macro Project. Здесь вы про­сто переходите к vsmacros-файлу, содержащему тот проект, который хотите загрузить. Если вы хотите создать новый пустой макропроект, выберите Tools | Macros | New Macro Project. После добавления макроцроекта он моментально становится доступным в среде Macro.
Оценить
(1 голос)
Если вы вернетесь к коду листинга 12.1, который был сгенерирован для вас при записи вашего расширения узлов Solution Explorer, то увидите, что он очень прост и представ­ляет собой буквальное воспроизведение всего того, что вы вручную выполняли в окне Solution Explorer. Макрос ссылается на каждый отдельный элемент в окне Solution Explorer при помощи метода ActiveWindow.Object.Getltem, передавая ему название объекта для тогол чтобы получить ссылку UlHierarchyltem. А там необходимо только настроить простое свойство для того, чтобы развернуть все элементы на нижних уровнях (UIHierarchyltems . Expand = True). Код работает, но, вероятно, это не совсем то, чего вы хотели. Например, он ссылается на…
Оценить
(0 голоса)
Отладка макросов аналогична отладке других проектов Visual Studio (которую мы подробно рассмотрели в главе 10). Отладчик времени выполнения в интегрированной среде Macros под­держивает все уже знакомые вам концепции точек останова и команд Step Into и Step Over. Если вы не были уверены в своем рекурсивном коде, то могли бы настроить точку останова в рекурсивной процедуре и наблюдать за выполнением макроса. Среда Macro также под­держивает окно Error List, которое помечает для вас все синтаксические ошибки. На рис. 12.7 показаны точка останова и окно Error List в интегрированной среде разработки Macros. Примечание Если отладка происходит в интегрированной среде Macros, то основная интегриро­ванная…
Оценить
(1 голос)
Мы описали отдельные классы событий в главе 11 каждое событие интегрированной среды доступно через эти классы автоматизации. Для обработки события в макросе вам нужно иметь две вещи: определение события и обработчик события. Каждый макропроект имеет по умолчанию модуль EnvironmentEvents. Этот модуль создается для вас автоматически каждый раз, когда вы создаете новый макропроект; он реализует определения событий для многих событий автоматизации. Если вам нужно об­работать любую из следующих категорий событий, то об определении событий за вас уже позаботились: основные события DTE; □    события документов; □    события окон; □    события Task List; □    события поиска; □    события окна вывода; □    события выделения;…
Оценить
(1 голос)
В дополнение к определению для вас различных объектов событий интегрированную среду разработки можно также использовать и для вставки скелетного кода обработчика события. Сначала откройте в редакторе кода модуль EnvironmentEvents. Затем используйте рас­крывающийся список типов (самый левый раскрывающийся список в верхней части редак­тора кода) для выбора необходимого вам класса событий. На рис. 12.8 показан процесс вы­бора типа SolutionEvents. После выбора типа раскрывающийся список определений (список в правой верхней части редактора кода) содержит перечень событий, определенных для данного объекта события. Если, например, вам нужно получать уведомления каждый раз, когда решение открывается, то вам следует выбрать событие Opened. Сразу после выбора этого события…
«ПерваяПредыдущая123СледующаяПоследняя»
Навигация
© 2017 www.visualstudios.ru. Все права защищены.