Вы думаете, VBScript мёртв? Как бы не так! Зайдите на какой-нибудь форум, посвящённый этому языку, и посмотрите, как активно общаются его участники. Этот язык и не думал умирать, а потому инструменты для тех, кто пишет на нём, ещё весьма востребованы.
Где сегодня VBScript?
VBScript традиционно находится где-то посередине между архаичными BAT-файлами (которые, тем не менее, продолжают интересовать пользователей, если судить по тем вопросам, которые присылают мне на электронную почту) и "навороченным" PowerShell'ом, который "заточен" под использование возможностей .NET Framework'а. Он продолжает применяться и простыми пользователями, и администраторами, но также достаточно весомая часть современного кода на VBScript'е, редактируемого в программах, подобных той, о которой я хочу вам сейчас рассказать, - это код, который остался пользователям в наследство от тех славных времён, когда ещё не было C#, и VBScript активнейшим образом применялся в ASP-страницах.
Конечно, сейчас VBScript уже не настолько популярен, как лет семь назад, однако это вовсе не означает, что среда для написания программного кода на нём будет совершенно никому не нужной. Существует масса написанного ранее для ASP-приложений кода, который нужно поддерживать. Кроме того, иногда всё-таки приходится прибегать к написанию каких-либо чисто утилитарного характера скриптов, писать которые на PowerShell не всегда удобно, поскольку VBScript, в отличие от своего более молодого "коллеги", работает на всех компьютерах с Windows.
VBSEdit: знакомство
Что ж, если вас заинтересовала такая программа, как VBSEdit, то вы, надо думать, представляете себе, зачем вам вообще нужны скрипты, написанные на VBS'е. Поэтому, пожалуй, самое время перейти к разговору о программе, ради которого, собственно говоря, эта статья и задумывалась.
Найти VBSEdit в Интернете легче лёгкого. На сайте www.vbsedit.com имеется дистрибутив программы, история изменений в новейшей версии, а также множество примеров скриптов. Впрочем, все эти примеры и так есть в программе, поэтому дополнительно лезть на сайт в том случае, если они вам вдруг понадобятся во время работы, не придётся. Что касается стоимости программы, то она, к сожалению, не нулевая, но, к счастью, не такая уж и заоблачная. Разработчики оценили своё детище в 50 "вечнозелёных" - вполне, на мой взгляд, адекватно.
Итак, мы скачали и установили программу. Что же мы с вами видим? С одной стороны, конечно, ничего сверхъестественного: вполне обычная IDE с вполне обычным редактором кода и панелью инструментов. Однако эта обычность - и есть самое главное достоинство VBSEdit'а. Когда вы начнёте набирать код в редакторе, вы убедитесь, что он действительно предоставляет практически те же возможности, что и большие среды для "больших" языков программирования. Здесь есть и разнообразные подсказки, и полноценный браузер объектов, и многое другое - не говоря уже о такой банальности, как простая подсветка синтаксиса.
Некоторый минус VBSEdit'а как редактора кода состоит в том, что он достаточно сильно отличается от других Visual Basic редакторов (имеется в виду, конечно, редактор макросов из Microsoft Office и Visual Basic из 6-й Visual Studio). Здесь нет привычных многим разделителей процедур и привычного стиля форматирования. Хотя, может, это не так уж и плохо: целевая аудитория VBSEdit'а наверняка состоит не только из тех, кто привык программировать макросы в "Офисе".
Возможности
Редактор кода сам по себе в VBSEdit'е довольно-таки стандартен, однако весьма удобен. Он, конечно, мог бы быть и лучше, но, как говорится, нет предела совершенству, а потому тем, что есть, можно было бы вполне удовлетвориться. Есть поддержка автодополнения кода, сниппетов (небольших кусочков кода, которые представляют собой часто используемые конструкции и выражения), есть даже базовые возможности переформатирования кода для унификации его форматирования в рамках одного или разных скриптовых файлов.
Гораздо более интересно дерево объектов, которое расположилось справа от части окна с кодом. В большинстве сред разработки в подобных деревьях показываются классы, которые реализованы в текущем файле, и нужны такие деревья для того, чтобы можно было быстрее ориентироваться по программному коду, написанному ранее данным конкретным (или каким-то другим) разработчиком. В случае с VBSEdit'ом всё совершенно иначе: разработчики учли специфику языка программирования, с которым имеет дело пользователь созданной ими среды. Здесь это дерево отображает системные классы, которые используются в редактируемом скрипте, то есть дерево используется больше не как средство навигации, а как дополнительная справочная система, доступная разработчику в любой удобный для него момент времени. Дополнительно улучшает именно справочные свойства этого элемента интерфейса информация о членах классов, выводимая внизу. По-видимому, она берётся непосредственно из справочной системы Windows, поскольку в моей русскоязычной "оси" она выводилась на русском языке, несмотря на полностью англоязычный интерфейс VBSEdit'а. Нужно сказать, что такой подход к дереву объектов лично мне весьма понравился. Хотя краткая информация, выводимая в нём, и не заменит полноценную справку по тому или иному методу, она, тем не менее, в ряде случаев как раз таки позволит сэкономить время, нужное на обращение к справке для получения краткой информации.
Среда поддерживает отладку скриптов - надо сказать, это едва ли не главная из её возможностей, с точки зрения разработки. Нужный для полноценной отладки Microsoft Script Debugger можно скачать через меню "Help" главного окна VBSEdit'а (если, конечно, он ещё не стоит у вас на компьютере). А скачать стоит, потому что всё-таки редактор кода с подсказками - это ещё далеко не полноценная интегрированная среда разработки. Отладка в VBSEdit'е, впрочем, также выглядит довольно-таки стандартно. Есть точки останова (breakpoints), есть возможность выполнения кода процедур с заходом внутрь или без него... В общем, отладка есть отладка, и в VBSEdit'е она мало чем отличается от отладки в большинстве других интегрированных сред разработки. Надо заметить, что при отладке среда может использовать два разных режима: WScript или CScript, то есть, оконный или консольный. Заключается разница между ними, как не сложно догадаться, в том, куда выводится выходной поток данных скрипта: в отдельное окно или на консоль, которая отображается в окне VBSEdit'а. На мой взгляд, CSript для большинства скриптов будет более предпочтительным режимом. А ещё незарегистрированная версия VBSEdit'а при попытке запуска скрипта на отладку начинает отчаянно стараться заставить вас купить регистрацию.
Ещё одна возможность VBSEdit'а, довольно интересная, но вряд ли настолько же полезная для всех пользователей, как поддержка отладки скриптов, - это поддержка создания исполняемых файлов (в просторечье, EXE-шников) из редактируемых пользователем скриптов. Для этих исполняемых файлов можно выбрать консольный или оконный режим работы, включить подавление показа сообщений об ошибках, а также выбрать иконку для готового приложения. Для тех, кто не хочет искать иконки где-то в Интернете или рисовать самостоятельно, предлагается специальная утилита под названием Icon Extractor. Она поможет извлечь иконки из исполняемых файлов, присутствующих на пользовательском компьютере.
Коллекция примеров
Стоит отдельно сказать несколько слов и о коллекции примеров скриптов, поставляемой вместе с самим VBSEdit'ом. Она заслуживает пристального внимания со стороны тех, кто собирается пользоваться этой средой разработки, потому что в ней есть скрипты действительно практически на все случаи жизни. Они доступны прямо через главное меню VBSEdit'а - для этого там есть специальный пункт "Samples".
Категории, на которые разделена коллекция примеров, таковы: Active Directory, приложения, управление рабочим столом, групповая политика, аппаратное обеспечение, Internet Information Server (IIS), журналы (логи), сообщения и коммуникации, Microsoft Office, сети, операционная система, сервисы директорий (кроме, понятное дело, Active Directory), печать, скриптовые технологии, сервис-паки и "хотфиксы", теневое копирование, Microsoft Systems Management Server (SMS) 2003, сервисы обновления программного обеспечения, Microsoft SQL Server, хранилища, Windows Terminal Server, Microsoft Virtual Server. Как видите, категорий достаточно много, а, учитывая то, что в каждой из них можно найти от двух до более чем десяти подкатегорий, то их просто огромное количество. В каждой подкатегории вы найдёте десятки скриптов. Если бы я принялся перечислять названия каждого из этих скриптов, то мне вряд ли хватило бы того места в газете, которое занимает эта статья. Все эти скрипты абсолютно бесплатны и могут быть, как я уже упоминал выше, найдены на сайте программы. Конечно, это только заготовки, и вам наверняка придётся их немного "подточить напильником" для решения именно ваших задач, но всё равно эта коллекция настолько полезна, что её просто трудно переоценить.
Резюме
Что ж, давайте подведём итоги всему тому, что я выше рассказал о VBSEdit'е. На самом деле, конечно, может, и не стоило столь подробно рассказывать о какой-то среде разработки для такого достаточно экзотического, на сегодняшний день, языка, как VBScript, однако, думаю, наверняка найдутся те, кому подобный рассказ покажется полезным.
Лично мне эта среда разработки очень понравилась. Конечно, она далеко не так хороша, как Visual Studio, но их попросту глупо сравнивать: они предназначены для создания совсем разных приложений, имеющих совершенно разные масштабы и сферы применения. Не знаю, может быть, есть и ещё более удобные инструменты для написания кода на VBScript'е, чем VBSEdit, однако мне кажется, что эта программа заслуживает вашего внимания. Ну и, конечно же, ничуть не меньшего внимания заслуживает и коллекция скриптов, созданная (или собранная) её разработчиками.
Вадим СТАНКЕВИЧ,
dreamdrusch@tut.by
Горячие темы