Альтернативные редакторы для написания макросов в Windows

Критерии оценок

Выбирая редактор макросов, следует обращать внимание на особенности, выгодно отличающие его от предлагаемого бесплатно Notepad. Сначала необходимо оценить функции продукта как редактора общего назначения. Одна из самых важных функций такого рода — возможность открывать и редактировать несколько документов в одной рабочей панели, что обеспечивает значительный рост производительности при работе над несколькими проектами. Важно посмотреть, имеется ли возможность многократной отмены и возврата изменений. Возможность выполнять редактирование блоками помимо редактирования в текстовом режиме также может пригодиться.

Затем следует оценить функции, специально предназначенные для макропрограммирования, такие как поддержка нескольких языков. Вдобавок можно выяснить, есть ли в редакторе шаблоны распространенных конструкций программирования (например, циклов For Next, создания объектов). Полезны и такие функции, как использование цветовой гаммы для различных элементов синтаксиса и возможность нахождения парных фигурных скобок ({ }). Еще одной ценной возможностью является поддержка заполнения кода в соответствии со строками Microsoft Visual Studio (VS) IntelliSense, при которой редактор интерактивно отображает поле со списком, содержащим методы и свойства объекта.

PrimalScript

В моем тесте PrimalScript установился меньше чем за минуту. Сразу после запуска PrimalScript перед пользователем появляется среда разработки в правой части экрана и набор из восьми инструментов в виде вкладок, каждый из которых называется Nexus, в левой части. Эти восемь окон составляют спектр функций редактирования кода.

Экран 1. PrimalScript 3.1 компании SAPIEN Technologies

На вкладке Workspace отображается список рабочих областей (т. е. групп связанных исходных файлов) PrimalScript.

Вкладка Sourcebrowser показывает иерархию классов проекта.

На вкладке File приводится вид файловой системы по типу Windows Explorer.

Вкладка Info обеспечивает пользователя help-файлом PrimalScript, а также сборником Web-ресурсов, включая поисковую систему и сайты, посвященные макропрограммированию.

Вкладка Tools содержит привязку к ряду инструментов (например, regedit). Можно добавить привязку и к своим собственным инструментам, таким как макросы или инструменты независимых разработчиков (например, PsTools компании Sysinternals).

Вкладка Snippets предоставляет доступ к встроенной библиотеке фрагментов кода, в которую можно добавлять любые фрагменты кода. Как показано на экране 1, фрагменты упорядочены по языку.

Вкладка HTML отображает иерархический вид тэгов в исходных HTML-файлах.

Вкладка Type Library Browser позволяет задействовать свойства и методы библиотек COM-объектов. Несмотря на то что в названии последней вкладки используется слово «браузер», это окно того же типа, что и предыдущие, — Nexus.

PrimalScript оснащен всеми функциями редактора общего назначения, какие должны быть в современном графическом редакторе. Например, можно открывать и редактировать несколько документов во время одного сеанса. Для отображения имен открытых документов PrimalScript использует такой же оконный интерфейс с вкладками, какой предлагает Visual Studio .NET. Среди других функций — многократная отмена и возврат сделанных изменений, поддержка записи и исполнения макросов и проверка правописания. PrimalScript также предоставляет ряд дополнительных функций, таких как нумерация строк, использование закладок и режим просмотра в шестнадцатеричном виде.

PrimalScript — не просто хороший редактор, он превосходен именно в отношении макропрограммирования. Достаточно несколько минут поработать с PrimalScript, чтобы понять, что он ориентирован прежде всего на административное макропрограммирование. PrimalScript поддерживает абсолютное большинство, если не сказать все современные языки макропрограммирования: VBScript, JScript, Perl, JavaScript, PHP (эта аббревиатура раньше использовалась для Personal Home Page Tools, но здесь обозначает PHP: Hypertext Preprocessor) и Restructured Extended Executor (REXX). Кроме того, он поддерживает Windows Script Host (WSH), некоторые языки гипертекстовой разметки (например, HTML, XML) и несколько языков программирования (например, Си, C++, C#, Java, Visual Basic .NET). PrimalScript обеспечивает использование цветовой гаммы для различных элементов синтаксиса для всех этих языков и проверяет парные фигурные скобки в языках, которые их используют (например, JScript, Java, JavaScript, C++, C#). Одной из самых сложных функций является использование диалоговой подсказки в стиле IntelliSense для объектов позднего связывания, которые обрабатываются функцией VBScript CreateObject.

PrimalScript обладает несколькими функциями профессионального разработчика, включая интеграцию с системами управления исходным кодом спецификации API из числа систем Microsoft Source Code Control (SCC), такими как Microsoft Visual SourceSafe (VSS) например. Еще одна полезная особенность — встроенный мастер WMI Script Wizard, обладающий такой же функциональностью, как утилита Microsoft Scriptomatic.

PrimalScript позволяет выполнять отладку макросов, для чего используется режим Just-In-Time. Однако я обнаружил, что для запуска отладки Just-In-Time необходимо вручную установить Microsoft Script Debugger.

TextPad

Если PrimalScript создан с явным акцентом на макропрограммирование, то этого нельзя сказать про TextPad. Скорее TextPad является редактором общего назначения, который оказался хорошо приспособленным для макропрограммирования.

Экран 2. TextPad 4.7 компании Helios Software Solutions

Установка TextPad была выполнена быстро и без проблем, и программа пришла в работоспособное состояние меньше чем за минуту. По умолчанию TextPad открывается с чистым окном для редактирования. Среда редактирования TextPad похожа на среду редактирования PrimalScript тем, что TextPad позволяет одновременно открывать и редактировать несколько документов в одном сеансе. Однако вместо размещения имен документов на вкладках поверх окна редактирования TextPad отображает их список в панели слева от окна редактирования, как показано на экране 2.

Функциональность TextPad как редактора общего назначения несколько более развита, чем у PrimalScript. Так же как и PrimalScript, TextPad имеет неограниченную длину очереди отмены и повтора изменений, обладает функцией проверки правописания, поддержки записи и исполнения макросов, нумерует строки и позволяет делать закладки. Но в отличие от PrimalScript, TextPad еще имеет полезную функцию редактирования блоками, которая позволяет выделять, вырезать и вставлять колонки текста. К другим интересным особенностям TextPad можно отнести возможность отображать обработанный исходный код HTML в Web-браузере и запускать окно командной строки и Windows Explorer непосредственно из меню Tools редактора.

Несмотря на богатые возможности TextPad как редактора общего назначения, его функции, предназначенные для макропрограммирования, не идут ни в какое сравнение с PrimalScript. TextPad поддерживает использование цветовой гаммы для различных элементов синтаксиса для Си, C++, Java и HTML, но не для таких языков макропрограммирования, как VBScript или Perl, если только не добавлять собственные файлы синтаксиса. TextPad поддерживает функцию поиска парных фигурных скобок, полезную в таких языках, как Java, JavaScript, C# и C++. Тем не менее в нем отсутствуют такие имеющиеся в PrimalScript функции, как диалоговая подсказка в стиле IntelliSense, интегрированная библиотека фрагментов кода, шаблоны кодов и интеграция с системой управления исходным кодом.

VbsEdit+JsEdit

Подобно PrimalScript, VbsEdit+JsEdit разработан с заметным акцентом на макропрограммирование. Между тем VbsEdit+JsEdit в большей степени ограничен, чем PrimalScript. В отличие от других редакторов, представленных в этом обзоре, которые поддерживают много языков, VbsEdit+JsEdit предназначен только для редактирования файлов VBScript и JScript.

Экран 3. VbsEdit+JsEdit 2.0 компании Adersoft

VbsEdit+JsEdit — это облегченный продукт, состоящий из двух раздельных модулей: VbsEdit и JsEdit. Установка VbsEdit заняла у меня всего несколько секунд. На экране 3 показан графический интерфейс пользователя VbsEdit.

Средства редактирования общего назначения в VbsEdit похожи на аналогичные средства в Notepad, поэтому пользователи, знакомые с Notepad, смогут немедленно приступить к работе с VbsEdit. К сожалению, редактировать можно только один документ за сеанс; для редактирования нескольких документов необходимо запустить несколько экземпляров VbsEdit. VbsEdit позволяет копировать текст и выполнять многократную отмену и возврат изменений. Кроме базовых средств редактирования, в VbsEdit предусмотрены нумерация строк и режим экрана с заменой пробелов видимыми символами. Возможность пользоваться закладками и выполнять редактирование блоками отсутствует.

Несмотря на то что VbsEdit является простым редактором, он обладает несколькими функциями, предназначенными для макропрограммирования. Например, VbsEdit отображает файлы VBScript с использованием цветовой гаммы для различных элементов синтаксиса. Так же как PrimalScript, VbsEdit обеспечивает поддержку в стиле IntelliSense для COM-объектов. Кроме того, VbsEdit предоставляет функцию диалоговой подсказки Windows Management Instrumentation (WMI), работу которой — вставку описаний и назначение свойств WMI — можно сравнить со Scriptomatic. Другая примечательная возможность — поддержка отладки. VbsEdit поддерживает отладку посредством Microsoft Script Debugger, и с его встроенным отладчиком работать чуть легче, чем с отладчиком PrimalScript. Я скачал Microsoft Script Debugger с помощью одного из пунктов меню Help, не прерывая основного процесса.

При работе с VbsEdit я столкнулся с двумя проблемами. Одна из них состояла в том, что точки останова, заданные в одной макропрограмме, оставались на месте, даже когда я закрывал один файл и открывал другой. Вторая проблема касалась ограниченных интерактивных help-файлов. Использование пункта Search меню Help неожиданно приводило к загрузке документации Microsoft по макропрограммированию. Другие главные пункты меню Help позволяют выполнять поиск в сети с параметрами поиска браузера по умолчанию или на конкретном Web-сайте.

EditPlus

В одном ряду с PrimalScript и VbsEdit+JsEdit, которые являются главным образом редакторами для макропрограммирования, стоит и EditPlus. Однако, в отличие от PrimalScript и VbsEdit+JsEdit, ориентированных преимущественно на макропрограммирование для администраторов, EditPlus скорее предназначен для разработки Web-приложений.

Экран 4. EditPlus 2.12 компании ES-Computing

Так же как все остальные редакторы этого обзора, EditPlus установился без каких бы то ни было проблем. Явная ориентация на Web-приложения заметно отличает его от других редакторов в том, что касается внешнего вида и впечатлений в процессе работы. Сразу после запуска в левой части экрана появляется инструментальная панель с несколькими вкладками, а в правой части — главное окно редактирования. Вкладка Directory представляет окно в стиле Windows Explorer, содержащее список папок. Вкладка Cliptext представляет список фрагментов кода для HTML, Cascading Style Sheets (CSS) и управляющих символов ANSI.

EditPlus поддерживает работу с несколькими документами в окне редактирования. Названия документов выводятся списком на кнопках панели задач вдоль нижней границы окна редактора, как показано на экране 4.

EditPlus — очень хороший редактор общего назначения с возможностью многократной отмены и возврата изменений. ОН позволяет записывать и исполнять макросы, выполнять проверку правописания, вставлять закладки и переходить на них, а также просматривать обработанный исходный код HTML в окне интегрированного браузера. Другие полезные функции редактирования кода включают нумерацию строк, линейку, счетчик слов, счетчик байтов и редактирование в режиме колонок. Редактирование в режиме колонок в EditPlus не такое простое, как редактирование блоками в TextPad, поскольку приходится устанавливать маркеры колонок, но операция типа вырезать-вставить предусмотрена.

EditPlus не поддерживает столько языков, сколько PrimalScript. По умолчанию EditPlus поддерживает использование цветовой гаммы для разных элементов синтаксиса для VBScript, Perl, HTML, Active Server Pages (ASP), CSS, PHP, C, C++, Java и JavaScript. Кроме того, можно расширить языковую поддержку, задействовав собственный шаблон синтаксиса.

EditPlus поддерживает автозаполнение для Perl, C и C++. Автозаполнение заключается в автоматическом дописывании ключевых слов, когда пользователь начинает набирать узнаваемую строку. Аналогично функции использования цветовой гаммы для разных элементов синтаксиса, языковую поддержку автозаполнения можно расширить вручную, пополнив другими языками. Так же как и PrimalScript, EditPlus группирует связанные файлы, объединяя их в проекты. Хотя этот продукт не имеет интегрированных средств отладки и средств управления исходным кодом, его интегрированный Web-браузер и возможность использовать FTP для пересылки файлов позволяют рекомендовать этот продукт разработчикам Web-приложений.

Некоторые дополнения

Тем, кто серьезно занимается макропрограммированием, советую не отказать себе в удовольствии исследовать возможности PrimalScript. Из рассмотренных редакторов PrimalScript — безусловный лидер. И хотя стоит он довольно дорого (179 долл.), зато обладает богатым набором инструментов, который предоставит пользователям массу удобств при написании макросов на VBScript, Perl и почти на любом другом популярном языке макропрограммирования.

Если вы больше не хотите использовать Notepad, но не можете позволить себе PrimalScript, рассмотрите возможность покупки TextPad. 29-долларовый TextPad для редактирования - куда более дешевый вариант. Хотя он не обладает развитыми функциями, специально предназначенными для макропрограммирования, какими располагает PrimalScript, он очень удобен как редактор общего назначения.

VbsEdit+JsEdit — эффективный редактор для файлов VBScript и JScript, но совершенно не такого уровня, как PrimalScript или TextPad. Цена VbsEdit+JsEdit (30 долл.) намного меньше цены PrimalScript, но при этом в VbsEdit+JsEdit отсутствуют многие функции PrimalScript, включая поддержку нескольких языков. Несмотря на то что VbsEdit+JsEdit стоит почти столько же, сколько TextPad, и лучше, чем TextPad подходит для разработки в средах VBScript и JScript, возможности VbsEdit+JsEdit как редактора общего назначения намного слабее.

EditPlus — хороший редактор макросов для администраторов, выполняющих разработку Web-приложений. Функциональность этого редактора с точки зрения разработки Web-приложений богаче, чем у остальных редакторов, но поддержка макропрограммирования для администрирования не так хороша, как у PrimalScript. Его встроенные функции лучше использовать в сочетании с Perl, чем с VBScript.

Майкл Оти — старший технический редактор Windows & .NET Magazine и президент компании TECA. С ним можно связаться по адресу: mikeo@teca.com