Хорошо настроенный редактор исходных текстов по-прежнему может предоставить больше возможностей, чем интегрированная среда разработки.
Позвольте сразу же выразить свою позицию: редакторы исходных текстов не предназначены для обычных пользователей. Они для нас - программистов - той довольно значительной группы специалистов, которые известны необычайным упорством в пристрастиях, когда дело касается средств производства. До тех пор пока свободное от составления текстов программирование остается несбыточной мечтой (несмотря на существование средств быстрой разработки прикладных программ, заготовки объектов, наличие "экспертов" и "мастеров"), программы-редакторы, описываемые в этой статье, могут помочь оформить исходную программу максимально удобно именно для вас, причем сделают это достаточно гибко и быстро.
Редакторы исходных текстов предоставляют исключительные возможности индивидуальной настройки. Если вам не нравится, что происходит при нажатии данной клавишной комбинации, присвойте ей иную функцию. Если у вас есть любимая утилита, к которой вы обращаетесь в процессе написания программы, добавьте ее в рабочую среду и пользуйтесь по своему усмотрению. Редакторы исходных текстов поощряют и требуют, чтобы вы закатали рукава и приступили к конструированию своего рабочего места.
Что же, даже в текущем веке и году вам по-прежнему необходим автономный редактор? Конечно, если сравнивать современные ИСР с автономными редакторами исходных текстов, сровнение будет во многом в пользу первых. Например, компании Borland, Microsoft и Symantec предлагают основанные на использовании интерактивных обучающих Мастеров подходы для управления программами на Си++, которые могут применяться при разработке новых проектов. Все они предоставляют средства редактировани (с выделением синтаксических конструкций цветом), компиляции и отладки "под одной крышей".
Но по-прежнему существует множество ситуаций, когда входящие в ИСР средства могут оказаться отнюдь не лучшими. В программистской реальности вы можете пользоваться несколькими языками и управлять проектами с применением множества средств. Именно здесь становится очевидной истинная привлекательность мощного редактора исходных текстов. Все изделия, описываемые в этой статье, помогут при работе с множеством языков и вариантов проектов.
Если вы программируете в ИСР, при разработке проектов было бы заманчиво отказаться от запутанной схемы использования MAK-файлов. Кроме того, большие ИСР позволяют автоматически перенастраивать компилятор дл подготовки отладочной и рабочей версий программ. Но факт остается фактом: по-настоящему контролировать процесс разработки проекта, отстранившись от приемов работы с MAK-файлами, невозможно. Все редакторы исходных текстов, описываемые здесь, обеспечивают возможность управления компилятором из командной строки. Таким образом, они могут играть роль настраиваемых ИСР и (в случае правильной настройки) прекрасных администраторов проектов.
В автономных редакторах исходных текстов реализовано несколько стратегических линий, направленных на создание максимально комфортных условий дл программистов. Их открытые и настраиваемые справочные системы позволяют подключать к редактору файлы подсказок Windows из компилятора или другого источника. Эти файлы интегрируются средой разработки. Таким образом, вам не придется отказываться от специфических для данного языка программирования сведений, которые сопровождают оригинальный компилятор. Достаточно нажать клавишу, и вы получите оперативную справку по языковым элементам, какой бы язык программирования ни использовался.
Помимо исключительно адаптируемого интерфейса с переназначением клавиш, настраиваемыми функциями меню и т. д., редакторы исходных текстов предусматривают также мощные макроязыки, позволяющие проектировать и создавать диалоговые окна и даже целые вспомогательные модули. (Если требуется, с помощью макрокоманд можно даже эмулировать "мастеров" для управления исходным текстом.) Они также позволяют из редактора вызывать програмы, обеспечивающие управление версиями, - обязательное требование даже для самой маленькой "мастерской" программиста. Несмотря на то что ни один из описываемых здесь пакетов не содержит своих модулей для отслеживания версий, в большинстве случаев допускается применение "внешних" популярных программ.
Предмет гордости всех редакторов, которых мы рассматривали, - это возможность всеобъемлющей настройки. По-прежнему между ними существует масса отличий и какие-то вещи проще настроить в одном случае, чем в другом. Стоит выяснить, насколько просто переопределяются клавиши, изменяется выделение синтаксических конструкций и даже добавляются новые элементы языка.
В редакторах исходных текстов могут использоватьс два основных подхода для интеграции с компилятором. Первый предусматривает работу в рамках существующей ИСР, и тогда встроенный редактор заменяется более мощным. Несмотря на его привлекательные стороны, при этом подходе приходится иметь дело со значительными трудностями из-за сложного устройства современных ИСР для языка Си++. Модуль редактора должен работать в тесном контакте со средой, но изготовители компиляторов отнюдь не заинтересованы создавать открытые среды. Только в одном из продуктов, описываемых здесь, - Codewright Fusion фирмы Premia - реализован этот подход, и единственный компилятор, с которым он взаимодействует, - Microsoft Visual C++ 2.x.
Значительно более простая и, следовательно, более гибкая стратегия состоит в применении версии компилятора, вызываемой через командную строку, и буферизации его вывода в окно редактора. Современные многозадачные среды делают этот подход даже более мощным, поскольку процесс построения программы может протекать в фоновом режиме. Такой подход (его можно назвать "запусти и принимай результаты в буфер") - краеугольный камень управления проектами в рамках большинства редакторов исходных текстов. Можно запускать любую программу (компилятор или что-то еще), если она может управляться из командной строки и позволяет переадресовывать поток вывода на экран или диск. Возможность принимать поток вывода делает этот редактор действительно независимым от языка программирования. Такая стратегия несомненно требует глубоких знаний строения MAK-файлов и вариантов построения проекта. Если до этого вы никогда не видели MAK-файла, вам придется потрудиться, но ожидающая вас потенциальная награда стоит того.
Лучшие редакторы исходных текстов обеспечивают создание программ с персональными чертами. Несмотря на то что в исходном состоянии после распаковки пакета они, возможно, совсем не сконфигурированы несколько часов, проведенных за настройкой, в итоге могут привести к снижению объема работ за клавиатурой и приданию индивидуальности рабочему месту, а это позволит намного поднять вашу производительность при длительной работе.
Будут ли настраиваемые редакторы текстов программ сосуществовать на равных со все более "умными" и "умелыми" ИСР компиляторов? Фирма Premia Corp. сражается на два фронта, выпустив две версии своего мощного редактора программных текстов Codewright. Codewright Professional 3.1h for Windows NT - это привлекательный автономный продукт, предназначенный дл работы в среде Windows NT 3.1 и более поздних ОС (в ходе наших испытаний он без проблем работал под управлением Windows 95). Codewright Fusion for MSVC++ представляет собой специальный дополнительный модуль для пакета Microsoft Visual C++ версий 2.x, состоящий из двух компонент: 16-разрядной версии 1.5 для Visual C++ 1.5 и 32-рязрядной версии 2.0 для Visual C++ 2.0.
Функциональная оснащенность Codewright позволяет сразу начать продуктивную работу с пакетом. Раскладки клавиатуры для эмуляции редакторов Brief, Epsilon и vi всегда под рукой, а с помощью удобного графического интерфейса можно поменять назначение клавиш по собственному усмотрению. Однако для массовых переназначений клавиш будет более эффективно внести изменения в INI-файл.
В качестве редактора Codewright Professional менее ограничен в размере редактируемых файлов, чем любой из рассмотренных в данном обзоре. Файл объемом 50 Мбайт был принят для обработки с минимальным использованием виртуальной памяти и 5 млн. строк текста прокручивались без каких-либо проблем. Хотя ваши исходные файлы на Си/Си++, вероятно, будут намного меньше, способность Codewright Professional справляться с большими файлами привлечет программистов, которые сталкиваются с необходимостью загружать все более и более объемистые базы данных или EXE-файлы (двоичные данные можно просматривать в шестнадцатеричном формате).
Кроме того, пакет Codewright Professional упрощает программирование даже без дополнительной настройки. Инструментальная панель SideBar позволяет следить за парностью скобок, менять втяжку строк и очень быстро вносить в текст одинарные и блочные блоккомментарии, используемые как заголовки функций. Быстро проходит поиск текста в файлах памяти или на диске. Большое преимущество пакета составляет такая функция, как условное редактирование. Она позволяет видеть только текст между выражениями препроцессора Си (типа #ifdef и #endif), используемыми для условной компиляции. Предложения этого рода широко применяются, чтобы компилировать программы для нескольких платформ, но они делают текст программы менее наглядным. Codewright делает этот мощный подход в программировании намного более управляемым и простым для восприятия.
Выделение цветом синтаксических конструкций, которое фирма Premia удачно называет цветокодированием (chromacoding), без дополнительной настройки обеспечивается для языков ассемблера, Си/Си++, КОБОЛ, Paradox, Паскаль, Visual Basic и xBase. К числу других языковых модулей, которые можно бесплатно загрузить на BBS фирмы Premia, относятся Ада и HTML. Конечно, существует также возможность добавления новых ключевых слов, изменения цветового оформления рабочей среды или ее настройки почти любым вообразимым способом. К ним относятся изменение INI-файла программы и использование энциклопедической библиотеки, содержащей более 850 документированных (и много больше недокументированных) функций на Си, вместе составляющих Codewright API.
Предупреждаю заранее: знать Си и API Windows необходимо, поскольку во многих функциях Codewright API применяются встроенные обращения к Windows. Но, име немного воображения, можно разработать важные дополнения к среде Codewright Professional. Сильные стороны этого подхода демонстрируются наличием большого разнообразия загружаемых модулей, которые охватывают и некоторые весьма специфичные языки. На вспомогательном диске Codewright Professional имеется несколько примеров загружаемых модулей, в том числе несколько полезных утилит, призванных помочь при переносе существующих проектов в Codewright. Но необходимости компилировать что-либо для настройки Codewright нет. Значительное подмножество Codewright API, а именно те функции, которые не передают значений вызывающим модулям, может использоваться в INI-файле для создани новых языковых модулей.
Средства работы с простыми старыми макрокомандами в Codewright Professional производят не столь выигрышное впечатление. Хотя можно записывать и воспроизводить макрокоманды и изменять назначение клавиш, редактировать макроконструкции нельзя. Хорошая новость состоит в том, что другая особенность - языковые шаблоны - позволяет автоматически, с помощью нескольких нажатий на клавиши создавать каркас исходного текста для многих обычных элементов языка (скажем, конструкции switch в Си или определения класса по умолчанию, заключенного в скобки). Языковые шаблоны - хороший способ расширить возможности рабочей среды благодар использованию сокращений, которые предпочитает данный программист.
Другие варианты настройки предусматривают возможность подключать пакеты отслеживания версий программы - посредством интерфейса командной строки - к пунктам меню Check In и Check Out. Также просто добавить существующие файлы подсказок к справочной системе Codewright Professional, чтобы "привить" информационное сопровождение ваших языков программирования и выбранных компиляторов к редактору исходных текстов.
Предположим, что вы не хотите расстаться с инструментами типа "мастеров" (Wizards), которые вам полюбились в компиляторе, что же делать тогда? Ответ, по крайней мере для программистов, использующих Microsoft Visual C++, - это Codewright Fusion - дополнительный модуль, созданный специально дл Microsoft Visual C++ 2.x (в состав пакета входит также 16-разрядная версия Fusion для применения с 16-разрядной версией Microsoft Visual C++ 1.5, котора поставляется в комплекте с Visual C++ 2.x).
Fusion предоставляет большинство функций Codewright Professional, но из ИСР Visual C++. Доступ к ним осуществляется с помощью кнопки, напоминающей кнопку Start в Windows 95, которая появляется внизу экрана всякий раз, когда открывается файл-источник. Поскольку Codewright рассчитывает на Visual C++ при создании своих буферов редактирования, Fusion не обладает такими широкими возможностями по работе с большими файлами, как автономный пакет. Но почти все остальное у вас будет.
Visual C++ обрабатывает текст внутри каждого буфера Codewright как свой собственный, поэтому по-прежнему можно пользоваться модулем Class Wizard Visual C++ в качестве руководства по программированию. Преимущество состоит в том, что кроме этого вам доступны средства Codewright, от усовершенствованных функций поиска, обработки скобок и формирования блоков, до языковых шаблонов и контроля орфографии. Панель SideBar автономной программы превратилась в плавающую инструментальную панель, которая предоставляет те же возможности. Существенно то, что с помощью Fusion можно, как и раньше, обращаться к пакетам отслеживани версий из Visual C++. Процессом компоновки проекта и обработкой ошибок управляет язык Visual C++.
Можно применять существующие дополнения Codewright, подготовленные для Codewright API, при условии, что они перекомпилированы в расчете на применение с Fusion. Кроме того, можно расширить возможности Fusion, добавляя в INI-файл параметры, обращающиеся к функциям API Codewright. Если приходится из Visual C++ управлять модулями на нескольких языках, или нужны средства отслеживания версий независимых фирм, Fusion может значительно упростить вашу жизнь, по-прежнему предоставляя доступ к Wizards и другим инструментальным средствам Visual C++.
Благодаря отличному сочетанию готовых к использованию функциональных стедств, открытой и настраиваемой архитектуры и бурно расширяющейс электронной доски объявлений с бесплатными дополнительными модулями Codewright продолжает оставаться весьма привлекательным вариантом выбора. С помощью Fusion даже студенты и другие не очень опытные программисты смогут увидеть, что дает им настоящий редактор для программистов, при этом не покида привычную среду Visual C++.
Codewright Professional 3.1h for Windows NT
Цена, рекомендуемая изготовителем: 229 долл.
Требуемые ресурсы: Microsoft Windows NT 3.1 или более поздняя версия либо Microsoft Windows 95.
Codewright Fusion for MSVC++
Цена, рекомендуемая изготовителем: 149 долл. (с учетом 32- и 16-разрядных версий).
Требуемые ресурсы: Microsoft Windows NT 3.1 или более поздняя версия или Microsoft Windows 95, Microsoft Visual C++ 2.0 или более поздняя версия.
Premia Corp.; Portland, OR; 800-547-9902, 503-641-6000; fax, 503-641-6001.
Пакет Multi-Edit for Windows, версия 7.0, - поразительно эффективный редактор для программистов, при этом умещающийся всего на одном диске. Набором полноценных функций и простотой настройки конфигурации пакет Multi-Edit доказывает, что даже сегодня мощные функциональные возможности по-прежнему доступны в рамках необычайно малых форм.
Основные функции редактора Multi-Edit бьют точно в цель. Изначально Multi-Edit поставляется со средствами эмуляции редакторов Brief и WordStar, но изменить назначение клавиши совсем несложно. Заслуживают уважения и возможности работы с большими файлами. В среде Windows 95 нам удалось открыть для просмотра текстовый файл объемом 50 Мбайт. Хотя прокрутка была медленной, программа оставалась работоспособной. Multi-Edit позволяет также искать текст в нескольких файлах как в памяти, так и на диске.
В число дополнительных средств входит встроенный калькулятор, позволяющий вести расчеты в шестнадцатеричной, восьмеричной, двоичной и десятичной системах счисления. Имеются также средства контрол орфографии, справочная таблица ASCII и отлична функция-блокнот, которая позволяет организовывать замечания по проекту путем группирования по спискам категорий.
Несмотря на то что все описываемые здесь редакторы для программистов предусматривают богатые возможности настройки, Multi-Edit исключительно прост в отношении персонализации рабочей среды, которая выполняется даже без использования всроенного макроязыка. Единственное диалоговое окно Customize (Настройка) - центр управления всей рабочей средой Multi-Edit. Для этого диалога реализован привлекательный интерфейс с несколькими кнопками для управления самыми обычными параметрами (изменение раскладки клавиатуры, пункты меню и инструментальные панели), и средствами вызова более тонкой настройки.
Настроить редактор на работу с Си-компилятором совсем несложно: для этого достаточно нажать кнопку Languages (язык) и выбрать пункт "C". В число других предусмотренных языков программирования входят ассемблер, Бейсик, КОБОЛ, dBase, Фортран, Модула 2, Paradox, Паскаль и PRG. Для программистов, работающих на Си/Си++, имеются встроенные опции компилятора дл систем разработки Си/Си++ фирм Borland, Microsoft и Watcom. Обойти трудности, связанные с использованием MAK-файлов невозможно, но Multi-Edit позволяет приступить к работе чуть быстрее.
Выделение синтаксических конструкций цветом легко поддается настройке. Можно определять новые языки программирования и новые ключевые слова без внесени изменений в файл INI. Достаточно нажать кнопку Languages, выбрать существующий язык или добавить новый и затем набрать новые ключевые слова в диалоговом окне.
Тот же самый подход (с использованием окна конфигурационного диалога) позволяет настраивать программное обеспечение для отслеживания версий. Как и другие программы, описанные в этом обзоре, Multi-Edit позволяет подключать пакеты, обеспечивающие проверку входящих и выходящих программных файлов через командную строку.
Кроме того, почти все в рабочей среде Multi-Edit можно изменять программным путем. Макроязык, выполняющий это, называется CMAC, в нем реализованы соглашения языка Си и есть библиотека из нескольких сотен функций для настройки и расширения возможностей рабочей среды Multi-Edit. Сценарии CMAC имеют расширение S, а макрокоманды компилируются с помощью утилиты CMACWIN.EXE. Рабочая среда также предусматривает применение макрокоманд отладки. В процессе отладки программ можно отслеживать значени переменных.
Multi-Edit for Windows - это 16-разрядный исполнимый модуль, который без проблем работает под управлением Microsoft Windows 95 и Microsoft Windows NT. Компани American Cybernetics обещает выпустить специальную версию для Windows 95 в I квартале 1996 г.
Если вы заинтересованы в приобретении занимающего малый объем редактора для программистов, настройка которого не требует много времени, - и тем не менее при необходимости предоставляющего широкие возможности по настройке - обратите внимание на этот эффективный и мощный пакет.
Multi-Edit for Windows, версия 7.0
Цена, рекомендуемая изготовителем: 199 долл.
Требуемые ресурсы: Microsoft Windows 3.1, Microsoft Windows 95 или Microsoft Windows NT.
American Cybernetics, Tempe, AZ; 602-968-1945; fax, 966-1654.
Visual SlickEdit - это полнофункциональный, в высшей степени программируемый редактор исходных текстов, реализованный на впечатляющем множестве аппаратных и программных платформ - от Windows-систем до мини-компьютеров на базе RISC-процессоров. В комплект пакета Visual SlickEdit 7.0 Graphical Edition, описываемого здесь, входят как 32-разрядная версия дл Windows 95 и Windows NT, так и Win32s-версия дл Windows 3.1. Добротная реализация ГИП и без того мощного редактора Visual SlickEdit 7.0 - серьезна заявка в соревновании Windows-систем. Кроме того, существует редакция Visual SlickEdit Graphical Edition for OS/2.
Пакет Visual SlickEdit позволяет быстро начать работать со встроенными средствами эмуляции редакторов Brief, EMACS и vi. Если вы имеете собственную точку зрения на то, как надо использовать клавиатуру, с помощью функции Key Binding можно легко изменить назначение любой или всех клавишных комбинаций.
Visual SlickEdit предусматривает встроенные средства выделения синтаксических конструкций для впечатляющего множества языков программирования, среди которых Ада, ассемблер, Си, Си++, КОБОЛ, dBase, ФОРТРАН, Модула2, Паскаль, Visual Basic и собственный макроязык Slick-C. Приложив чуть больше усилий, можно настроить по своему вкусу цвета выделения или добавить новые слова к схеме выделений путем внесения записей в файл VSLICK.VLX. Эта особенность позволяет также создавать полностью настраиваемые цветовые схемы.
Другая полезная функция - автоматическое распознавание синтаксических конструкций - позволяет набрать только начало выражения, после чего Visual SlickEdit заполнит остальное, основываясь на типе редактируемого файла. Например, набор слова For и нажатие клавиши пробела влечет за собой формирование каркаса структуры цикла For, правильно реализованного на используемом в данный момент языке. Для управлени группами файлов с исходными текстами в пакете Visual SlickEdit используются файлы VPJ. В них предусматриваются варианты компоновки для компиляторов Borland C++ и Microsoft Visual C++, но большинство, вероятно, предпочтут выбирать эти варианты самостоятельно.
С помощью Visual SlickEdit можно обрабатывать довольно большие исходные файлы. Теоретически предельный размер файла составляет 1 Гбайт, и нам удалось загрузить текстовый файл объемом 50 Мбайт (хот и со значительной нагрузкой на диск даже в системе с 16-Мбайт ОЗУ). С более близким к реальности 2-Мбайт файлом в той же самой испытательной системе программа справлялась без усилий.
В состав самого редактора входит много прекрасных дополнений, например система контроля орфографии, калькулятор (с возможностью расчетов в двоичной и шестнадцатеричной системах исчисления), таблица кодов ASCII и средства сортировки текста в буфере и сравнени файлов. Поиск текста можно осуществлять в нескольких файлах в памяти и на диске с помощью встроенных функций типа GREP.
В программе имеются точки подключения пакетов программ для отслеживания версий, в том числе PVSC фирмы Intersolv. Однако необходимо убедиться, что программа отслеживания версий допускает вызов через интерфейс командной строки. Обращение к пунктам Check-In и Check-Out с легкостью осуществляется из меню.
Подобно остальным представленным здесь редакторам для программистов, Visual SlickEdit обеспечивает полностью настраиваемую рабочую среду. Диалоговое окно Configuration, возможно, немного перегружено, но нет таких средств управления, которые бы оно не предоставляло почти для любых аспектов редактора. Например, средство Menu Editor пакета SlickEdit позволяет настраивать пункты меню в рамках среды с помощью интерфейса, напоминающего интерфейс Visual Basic. Для более сложной настройки придется немного поупражняться в языке Visual SlickEdit и здесь также вы обнаружите, что программа не лишена привлекательных сторон.
Возможно, наиболее примечательная особенность Visual SlickEdit - это его макроязык Slick-C, который можно применять для подготовки мощных макрокоманд, выполняющих практически любые задачи. На самом деле Slick-C представляет собой каркас, на котором базируется сам редактор Visual SlickEdit. Пакет поставляется с более чем 60 тыс. строк макрокода и 18 тыс. строк шаблонов диалогов. Slick-C - не предусматривающий определения типов язык (подобно REXX), в котором используется синтаксис Си. Предусмотрен также редактор диалоговых окон, который пригоден для конструирования своих собственных форм. Существующие формы можно использовать многократно с помощью наследования монтажного буфера - "умной" функции, которая позволяет копировать средства управления и связанный с ними код в новые формы через монтажный буфер.
Макрокоманды Slick-C совместимы не только с Windows-программами, но и со всеми программами семейства Visual SlickEdit для других сред. В эру, когда межплатформенная разработка сохраняет свое важное значение особенно в корпорациях, способность макрокоманды действовать в нескольких средах привлекает. При желании можно готовить макрокоманды из последовательностей действий, ничего не зная о языке Slick-C.
Резюмируя, можно сказать, что Visual SlickEdit - это полноценный редактор для программистов, открывающий богатые возможности сразу после установки в системе и в высокой степени настраиваемый с помощью своего изощренного макроязыка. Его прекрасная совместимость с другими редакциями SlickEdit на иных платформах будет представлять особый интерес для тех программистов, которые разрабатывают программы для разных систем.
Visual SlickEdit 7.1 Graphical Edition
Цена, рекомендуемая изготовителем: 295 долл. (в том числе 32-разрядная и Win32s версии).
Требуемые ресурсы: Windows 3.1, Windows 95 или Windows NT 3.x и более поздние версии.
microEdge Inc., Raleigh, NC; 800-934-3348, 602-966-1654; fax, 602-968-1945.
Пакет WinEdit 32, версия 3.1, фирмы Wilson WindowWare представляет собой обладающий большими и расширяемыми возможностями редактор программиста с особенно сильным командным языком для применения в среде Windows 95 и Windows NT. Хотя для его настройки требуется приложить определенные усилия, в этом инструменте набор полезных возможностей сочетается с лучшими средствами управления внешними программами из среды разработки, чем у любого из конкурирующих пакетов, испытанных нами.
В роли редактора WinEdit, несомненно, на уровне. Его встроенные средства выделения синтаксических конструкций позволяют работать с языками ассемблера, Бейсик, Си, Си++, DCL, Лисп, Модула 2 и xBase, а также со своим собственным макроязыком Windows Interface Language (WIL). Можно добавлять блоки для конструкций If-Then, Switch и While, а также блоки комментариев, оформленные в соответствии с правилами каждого языка. Изменение выделения ключевых слов или добавление новых ключевых слов языка и цветового кодирования требует редактирования записей в INI-файле. Для каждого из предусмотренных программой языков используется особый небольшой INI-файл, что позволяет легко решить набор языков. Эта операция не составит трудностей для любого, кто достаточно близко знаком с программированием.
Теоретически размер редактируемых файлов ограничен только системной памятью. Мы обнаружили, что при загрузке 50-Мбайт файла на испытательной системе с 16-Мбайт ОЗУ число обращений к диску резко возрастает, но более реалистичный 2-Мбайт файл загружается и редактируется легко.
На практике мы столкнулись с несколькими причудами рабочей среды редактора. Хотя функция Grep встроена в WinEdit, режим поиска не позволяет просматривать одновременно разные файлы. Пакет WinEdit не содержит специализированных версий системных утилит, вместо этого предлагается обращаться к утилитам Windows, типа "Калькулятора" и Paintbrush, через меню.
Что касается построения проектов, новости более приятные. WinEdit содержит варианты компоновки дл нескольких популярных компиляторов и языков, в том числе для ассемблера, Borland C++, Clipper, Microsoft Visual C++ и Паскаля. Так же просто настроить способ грамматического разбора программой WinEdit информации об ошибках, получаемой из компилятора. Далее можно добавить список файлов подсказок, используемых дл обеспечения контекстно-чувствительной справочной системы. По умолчанию, рабочая среда распознает ключевые слова справочных систем Windows API и Microsoft C/C++, а также слова, используемые при написании макрокоманд на языке WIL.
Пакет WinEdit поставляется без заранее загруженных стилей эмуляции редакторов. Однако изменить вводимые по умолчанию назначения клавиш не составляет труда. Кроме того, есть возможность изменять меню, хотя это требует несколько больше усилий, чем в случае других изделий.
Для введения новых пунктов меню требуется составить сценарий на WIL - собственном макроязыке WinEdit. Программистам, разрабатывающим программы для Windows, это будет столь же легко, как и создание сценарного файла ресурсов, определяющего меню.
WIL - наиболее претенциозный компонент WinEdit, который содержит более 550 функций. Это интерпретируемый язык программирования. В нем сочетаются как синтаксические элементы из Си, так и из Visual Basic (например, синтаксис управлени ветвлением). Предназначение WIL - служить полноценным командным языком (подобно REXX), который позволит программистам управлять программами Windows в стиле интерактивных модулей-агентов. У вас появляетс возможность не только запускать прикладные программы, но и дожидаться их завершения, обрабатывать их результаты и т. д. Существенно то, что можно передавать нажатия клавиш и другие события из макрокоманд в другие приложения. Управляемые процессы всегда были одной из проблем в семействе операционных систем Windows. WIL призван ликвидировать эту брешь и содержит множество функций, потенциально способных сделать это.
Освоение процесса составления простых макрокоманд в WinEdit несложно, поскольку их можно записывать, редактировать, как ряд предложений на языке WIL, и затем применять в качестве используемых по умолчанию пунктов меню. Можно также выполнять индивидуальные макрокоманды WIL в диалоговом режиме.
Для тех программистов, которым необходим контроль над множеством различных процессов и которые проделывают преимущественно рутинные операции, редактор WinEdit и командный язык могут послужить фундаментом для построения продуктивной рабочей среды.
WinEdit 32, версия 3.1
Цена, рекомендуемая изготовителем: 129,95 долл.
Требуемые ресурсы: Microsoft Windows NT 3.1 или более поздней версии или Microsoft Windows 95.
Wilson WindowWare Inc., Seattle, WA; 800-762-8383, 206-938-1740; fax, 206-935-7129.
ОБ АВТОРЕ: Ричард В. Дрейган программирует для PC Magazine Labs и обучает программированию на языке Си++ в Колумбийском университете.