Осмотр шести редакторов текста с подсветкой кода

Автор: Rebel
Дата: 16.02.2006
Все фото статьи

Введение


Наверное, каждый пользователь, работавший в Windows, знает, что такое Notepad. Или Блокнот - кому как привычнее. Штука удобная. Маленькое легкое приложение, где можно набрать текст письма или скопировать какую-то информацию из Интернет. Минимум опций, простейшее управление. Созданные файлы невелики по размеру, да еще и сжимаются архиваторами отлично. Казалось бы, все хорошо. Но только до поры до времени, пока нам не понадобится нечто большее (и умеющее нормально работать с файлами большого объёма). Да, удобство и простота Блокнота исключительно важны для начинающих компьютерщиков. Но стоит расширить сферу применения, попробовать использовать Блокнот совместно с другими "плоскими" файлами, не только *.txt, как этого несложного инструмента перестает хватать. Даже несмотря на то, что им все равно можно просмотреть скрипты всевозможных языков программирования, логи программ, пакетные файлы, файлы настроек и многие-многие другие, работа со всем этим уже не представляется удобной и продуктивной. К счастью, программисты мириться с таким положением дел не стали, и начали выпускать в свет улучшенные варианты блокнотов, дополненных каждый своими надстройками. Различаясь функциональными расширениями, эти продукты в некотором роде стали разделяться и по классам решаемых задач. Об одном из таких классов, простых редакторах для программистов и web-мастеров, и есть наш сегодняшний обзор.

Что для таких программ первостепенно? Конечно же, подсветка синтаксиса языка, на котором пишет пользователь! Желательна поддержка плагинов и дополнительных языковых и функциональных пакетов, а также возможность редактирования уже подключенных. Поиск с заменой и использованием регулярных выражений. Таблица символов, простенький hex-редактор, умение работать с большим количеством форматов и кодировок. Ну и, разумеется, удобство в работе. Требование, справедливое, в принципе, для любой программы, однако наиболее актуальное для подобного рода продуктов, ведь сам по себе процесс программирования отнимает немало времени, а подолгу сидеть за неудобной оболочкой никому не захочется. Отталкиваясь от этого и будем рассматривать отобранные программы, а именно: PSPad 4.5.0, Golden Pen 1.5, PolyEdit 5.0 RC, Edit Ex 2006r1, Crimson Editor 3.70, Uniqway Poetic 0.2b.

PSPad


PSPad является достаточно известным и распространенным редактором для программистов. И популярность его вполне заслуженна. Ведь это программа, наверное, тысячи функций. И что будет особенно приятно программистам, это не просто текстовый редактор с дополнительными возможностями, это набор специальных инструментов именно для их нужд. Вот, к примеру, зачем текстовику встроенный FTP-клиент? Едва ли он будет востребован, а web-мастер наверняка, написав какой-либо скриптик или страничку, захочет тут же посмотреть результат в деле, закинув его на удаленный сервер. Соединяемся с указанными настройками. Они гораздо шире, нежели указание адреса, логина и пароля.



Настройки соединения FTP-клиента

А дерево проектов? С его помощью можно еще более расширить функции редактора и создавать настоящие проекты. И хотя вовсе не обязательно, что это будут программные проекты, но интересна данная возможность именно для этих нужд.



Параметры создаваемого проекта

Для работы с длинными кодами просто незаменимым будет отображение структуры файла. В этом поле PSPad показывает найденные по шаблонам в просматриваемом файле функции и макроопределения в соответствии с выбранным синтаксисом.



Редактирование pas-файла в окне редактора

В последних версиях PSPad пользователь может активно работать со скриптами, не только вручную исправлять их, но и затем перекомпилировать. Правда, для этого понадобится установленный MS Windows Scripting host. Последний поддерживает достаточно большое количество языков, а не только скрипты Visual Basic и Java.

Хороши возможности редактирования HTML. Конечно, наш редактор уступит по количеству функций специализированным пакетам, но ведь мы и не требуем от легкого удобного инструмента способностей мощного компилятора? А в остальном PSPad будет полезен и новичкам, и web-мастерам с опытом. Тут есть и конвертор между различными форматами, и средство просмотра с возможностью изменения разрешения, и проверка кода HTML, и широкие возможности форматирования.

Только что установленный, PSPad "знает" около тридцати различных языков программирования. При том, что тут есть совершенно обычные C, Object Pascal, Java, Java Script, HTML, PHP, Visual Basic и т.д., присутствие некоторых, как, например, COBOL, Inno Setup Script, KiXtart, Tcl/Tk, TeX, Unix Shell Script вызвало мой неподдельный интерес. Любой из языков, кстати, пользователь может перенастроить, отредактировать и создать собственный синтаксис. Или указать для него компилятор.

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



Установка программы




Общие настройки программы




Меню некоторых прочих настроек

Выше были перечислены лишь некоторые возможности PSPad, наиболее касающиеся его начинки под программирование. Помимо этого есть еще море всего интересного и полезного. Например, hex-редактор и менеджер буфера обмена.

Если будете использовать программу для набора текста, несомненно, пригодится проверка правописания. К тому же относятся всевозможные опции правки, поиска и замены, форматирования. Просто изобилует "примочками" меню инструментов. Здесь имеется менеджер макросов, парсер файлов, таблица ASCII, несколько видов палитры. Если и последних окажется мало - нате, пипетка! Вариант хорошо знакомого по многим редакторам изображений инструмента для определения цвета в той или иной области. Пипетка от PSPad позволит забрать цвет в любой точке и под окном самой программы. Кроме того, имеется хэш-генератор (используются функции MD4, MD5, SHA1, RIPEMD160), командная строка, преобразователь чисел между различными системы исчислений и даже римскими символами, простой, но мощный вариант калькулятора (назван анализатором выражений), и другие.

Справочная система (именно система) полна и разнообразна. Помимо собственно исчерпывающего справочника по программе, можно получить сведения о языках программирования, а если имеется подключение к Интернет, то и доступ к сайтам по программированию и к удаленным онлайн-утилитам.

Сайт программы: http://www.pspad.com


Golden Pen


Наверное, многим Golden Pen известен. Программа не нова, возможно, некоторые уже успели забыть ее. Неудивительно, последняя версия была выпущена аж в 2001 году, автором не указана даже поддержка Windows XP. С другой стороны, простота и удобство - главные козыри этого небольшого редактора, совмещены с достаточной для среднего уровня функциональностью. А потому Golden Pen Виталия Невзорова может с успехом использоваться и по сей день.



Код VB в окне Golden Pen

Golden Pen хорош и тем, что является универсальным "двубоким" редактором. Им одинаково удобно пользоваться как для набора обычного текста, так и для редактирования исходников. Предоставляемые возможности примерно равнозначны. Для текста это печать, экспорт в RTF и HTML, опции выравнивания, отображения, поиска и переходов. Для скриптов - подсветка синтаксиса пятнадцати актуальных (для 2000 года) языков вплоть до Фортрана, работа с закладками, hex-режим просмотра файлов. Кроме того, присутствуют дополнительные инструменты, буфер обмена, запись макросов, калькулятор, таблица ASCII кодов. Калькулятор Golden Pen способен к вычислению некоторых статистических функций, а, помимо этого, при наборе текста активен контекстный калькулятор - это когда вы набиваете выражение, и после знака "=" программа автоматически выводит его значение.



Hex-режим редактора
При работе с программой мною были замечены два небольших бага - при вызове калькулятора с панели инструментов упорно показывается календарь, а сама панель при закрытии программы исчезает, но не всегда при следующем запуске восстанавливается автоматически.

Сайт программы: http://www.geocities.com/midweststudio/


PolyEdit


Назвать PolyEdit блокнотом для программистов как-то даже и язык не поворачивается. Тем не менее, он попал в наш обзор, потому что такие функции он тоже включает. А еще много-много всего, для описания чего потребуется отдельная статья.

Да, действительно, PolyEdit - это программа с широчайшими возможностями, хотя при первом знакомстве она вызвала у меня ощущения... наверное, схожие с ощущениями героев из "Незнайки на Луне" Николая Носова, когда те попали на ночевку в гостиницу "Экономическая". Если там хозяева декларировали самые дешевые номера, но в действительности требовалась отдельная плата за пользование водой, телевизором, постелями и т.д., то создатели PolyEdit (Polysoft Solutions), не преминув отметить малый размер дистрибутива программы, не включили в него часть оговоренных функций. Поэтому, решив первым делом проверить подсветку синтаксиса языков, я был несколько разочарован и отправлен на сайт программы для скачивания нужных компонентов. К счастью, данный пакет в ZIP'е занимает всего 9 Кбайт. Вызывает удивление, почему же нельзя было сразу включить его в дистрибутив. Помимо указанного файла в разделе Downloads доступны еще несколько аддонов и 10 словарей размером от 500 КБ до 6 МБ. Впрочем, слишком строго судить разработчиков нельзя. Рассчитывать получить полноценный текстовый процессор уровня Word'а в размере менее полутора мегабайт - несколько наивно. Решение же о раздельном размещении дополнительных, нужных лишь конкретному пользователю пакетов, вполне разумно для свободно распространяемой через Интернет программы.

Что же касается самой программы, то данный текст набирался как раз в окне редактора, и никаких удобств испытать не пришлось. Единственное, понадобилось скачать дополнительный русский языковой пакет для проверки правописания. Для ее осуществления нажмите F7 или выберите команду из пункта меню. Автоматически проверка не происходит. Да может, и к лучшему? Тем самым не будет ненужного затормаживания и пауз при наборе на небыстрых компьютерах.

Среди возможностей PolyEdit отметим следующие. Шифрование данных, с использованием преобразований BlowFish и хеш-функции SHA-1. Полная поддержка OLE-объектов (картинок, клипов, диаграмм и др.). Экспорт/импорт нескольких форматов, включая Word, Excel, Html. Поддержка плагинов. Встроенный e-mail клиент. Функции Drag-and-Drop и Drag-and-Dock. Поддержка большого количества кодировок. Автосохранение. Поиск и замена с использованием регулярных выражений, поиск по файлам. Подсветка синтаксиса. Показ непечатаемых знаков.



Некоторые пункты меню

Интерфейс в "расширенном" стиле весьма напоминает интерфейс по умолчанию редактора MS Word. Совпадают и все базовые возможности по работе с текстом. Отсутствует только панель рисования. Зато в наличии дополнительные элементы. Очень понравилась технология Drag-and-Dock для многодокументных окон.



Многодокументный интерфейс

PolyEdit поддерживает темы оформления. Всевозможные параметры могут быть настроены в опциях программы.



Настройка PolyEdit

Тестирование редактора при работе с сырцами выявило некоторые недостатки. Так, в pas-файле Delphi некорректно работает комментирование фигурными скобками, вообще не работает комментирование обычными скобками со звездочками. Подобные проблемы наблюдались и для html- и cpp-файлов. Подсветку t-sql-скрипта можно наблюдать на сопутствующей иллюстрации. Для наглядности дан вид в PolyEdit и вид в окне MS SQL Query Analyzer восьмой версии. Понятно, что в этих программах используются различные спецификации, но тем не менее...

Не всегда правильно работает отмена последних действий.



SQL-скрипт в окне PolyEdit (слева) и SQL Query Analyzer

Вашу копию PolyEdit можно зарегистрировать. Целесообразно ли - решать вам. Среди важнейших преимуществ платной версии первоочередная техническая поддержка по e-mail, бесплатные апгрейды программы, скидки при приобретении прочих продуктов от PolySoft Solution. Как видите, даже представленные плюсы не представляются значительными, о прочих же и говорить нечего, едва ли отображение имени вашей компании в окне информации о программе стоит 30 долларов за лицензию. Впрочем, оптовым покупателям - скидки...

Сайт программы: http://www.polyedit.com/


EditEx


Свежая версия 2006r1 этого редактора вышла чуть более месяца назад, ее и возьмем к рассмотрению. Главным козырем, указываемый автором программы Артемом Фурсенко, является "подсветка всего-всего-всего". Действительно, EditEx "знает" более полусотни различных синтаксисов. И это - абсолютный рекорд среди сегодняшних конкурсантов. Перечислять все нет даже смысла, едва ли вы не найдете нужный вам. Нет, ну, конечно, при желании можно, но для подавляющего большинства программистов этого будет достаточно.

Несмотря на то, что разработка - отечественная, интерфейс программы полностью на английском языке. Аналогичен и сайт разработчика. Хотя на сайт скуп на инструкции и полезную информацию. Нет, к слову, справки и в самой программе. Хорошо, что не особо и надо - редактор внешне достаточно традиционен и не сложен. В левой его части размещен проводник, сверху - панели инструментов, а остальное место отведено под область редактирования документов.



Интерфейс редактора EditEx 2006

В программе присутствуют все необходимые инструменты для форматирования текста, поиска, смены кодировки. Дополнительно имеется пакет проверки правописания английских и русских слов и переводчик "на лету". К сожалению, работают обе последние утилиты просто ахово. И хотя они функционируют, пользоваться ими практически едва ли получится. Переводчик производит контекстный поиск по словарю и отображает абсолютно все встретившиеся результаты. Введите, к примеру, слово "go" и вы получите сотни вариантов от "агония" ("the agony") до "ящера" ("the pangolin"). Хотя, собственно, глагол "идти" будет где-то в середине выборки. Проверка правописания по словарю также удивила своей неординарностью, "части" было предложено заменить на "чёботы", "имеются" на "иван-чай", "запуск" на "заалеть" и т.д. в том же ключе буквально через слово. Лишь чуть лучше обстоит дело с английским языком, где слова, обычно, меньше склоняются.



Проверка правописания удивляет своим подходом

Теперь о приятных дополнениях. Простенький FTP-клиент, возможность работы в полноэкранном режиме, видя чистый код без надоедливых иногда кнопок и панелей, дополнительная панель автоматического выставления тегов HTML, предварительный просмотр HTML-страниц и запуск программы с указанием внешнего компилятора.



Опции соединения с FTP-сервером


Сайт программы: http://www.flywheel.nm.ru/editex.html


Crimson Editor


Обратившись к Crimson Editor уже после EditEx, мне показалось, что последний делался именно с него. Еще бы, по набору функций оба редактора - словно братья родные. Даже внешне немудрено спутать. Все тот же набор стандартных для рассматриваемого класса программ функций, все тот же расширенный поиск, та же подсветка парных скобок, нумерация строк (и печать с ее сохранением), форматирование текста, перекодировщик с минимальным количеством наборов. Есть встроенный FTP-клиент, опционально проводник, предварительный просмотр HTML-файлов, проверка правописания, подробная статистика, возможность записи и выполнения макросов. В наличие имеется и контекстный калькулятор.



Окно редактора без включенного проводника

Подсветка языков, которых в стандартной установке всего 16 (включая Basic, C/C++, CSS, HTML, Java, Matlab, Pascal, Perl, PHP, Python и др.) производится корректно, с автоматическим определением типа. Спецификации языков могут быть перенастроены самим пользователем. Кроме того, большое количество всевозможных языковых файлов доступно для скачивания на официальном сайте программы. Наверное, это позволило создателю (Ingyu Kang) заявить о поддержке более чем 100 компьютерных языков.

При работе с редактором нашелся неприятный баг - при открытии файлов программа осуществляет анализ его содержимого, видимо, для определения выделяемого синтаксиса. Механизмы его автором не сообщаются, но вследствие этой процедуры некоторые работоспособные скрипты приводят к ошибке обращения к памяти и программа вылетает.



Ошибка при анализе открываемого файла


Сайт программы: http://www.crimsoneditor.com/


Uniqway Poetic


Ну и в заключение - рассмотрим еще одну программу. Редактор этот совсем свежий, даже с сырцой, однако мне приглянулся и кажется весьма перспективным. Первая его версия 0.1a вышла всего около месяца назад, а теперь уже доступна вторая 0.2b. Если авторы (Павел Сушков и др.) и далее продолжат с той же ретивостью, то мы вправе ожидать законченную удобную программу с хорошей функциональностью уже весной. Хотя пользоваться Uniqway Poetic можно прямо сейчас.

Итак, что здесь есть интересного. В целом - приятный многодокументный интерфейс, широкое использование "горячих" клавиш, удобная навигация, импорт/экспорт форматов UTF-8 и UTF-16, возможность печати, предварительный просмотр и установка параметров страницы. Отображение непечатаемых символов, подгон размера шрифта для удобства работы, разумеется, поиск и замена, причем с использованием регулярных выражений. Еще есть статистика файла по количеству слов и определенных символов.



Uniqway Poetic

Работа с текстом. Понравились опции регулирования отступа, удаления начальных и конечных пробелов. Присутствует возможность изменения регистра набранного текста и установка типа переноса строки (Unix, Mac или Win). Может производиться перекодировка между следующими видами: Windows 1251, KOI8-R, ISO-8859-2, ISO-8859-5, ISO-8859-6, DOS 866, Mac Central European, Mac Cyrillic, Mac Greek. Доступны небольшая таблица символов с указанием кодов для быстрого набора на клавиатуре, а также функция сортировки строк в алфавитном порядке. Не ограничена история вносимых изменений.



Перекодировщик

Работа с кодом. Интересной выглядит фраза с официальной страницы программы о подсветке "любого типа синтаксиса". Я так и не понял, что именно создатели имели в виду, но практически программа поддерживает следующие типы: PHP, CSS, HTML, Delphi, XML, INI и Perl. Опционально, помимо координат позиции курсора в статусной строке, присутствует нумерация строк кода.



Настройки программы

Параметры программы можно изменять, приспосабливая её под собственные нужды. К сожалению, ни в одну из панелей задач, в том числе и пользовательскую, нельзя добавить кнопки по своему усмотрению, но я уверен, что подобная функция появится уже ближайших релизах.

Кстати, что еще может появиться в следующих версиях? Прежде всего, увеличение количества поддерживаемых языков, включение FTP-клиента и hex-режима, расширение настроек программы. А может чем-то оригинальным, отличным от других редакторов порадует нас в будущем команда Uniqway?

Сайт программы: http://www.uniqway.com/poetic/


Итоги


Вообще, все рассмотренные выше программы, так или иначе, понравились. И все можно применять на собственный "вкус и цвет".

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

Golden Pen является неплохой заменой стандартному блокноту Windows с рядом дополнительных инструментов как общего назначения, так и предназначенных для программистов.

PolyEdit - достаточно сильная программа, но не является специализированным продуктом для программистов. Потенциально может быть альтернативой MS Word, так как включает широкие возможности по работе с текстом.

В EditEx интересна, прежде всего, поддержка большого количества различных синтаксисов. Вместе с тем попытку автора напичкать программу значительным количеством дополнительных функций стоит признать неудачной. Возможно, дело в нехитром использовании найденных в сети готовых программных компонентов. Притом, что некоторые из них не доработаны сами по себе. Довольно быстро надоедает баннер с предложением купить сырцы программы за 40 долларов. Отбросьте это, не пользуйтесь недоделанными функциями и получите вполне годный редактор.

Crimson Editor в целом поприятней предыдущей программы, нет раздражающего баннера. Возможности примерно те же, но EditEx поддерживает больше языков. Crimson Editor в свою очередь представляется лучше доработанным.

Ну и Uniqway Poetic - молодая программа с перспективой стать хорошим подспорьем программисту...