Лучший текстовый редактор для программистов. Осмотр шести редакторов текста с подсветкой кода
Так и те, кто уже давно занимаются веб-разработкой. Ведь всегда появляется что-то новое, изменяются требования заказчиков, повышаются собственные навыки, хочется автоматизировать рутинные процессы для больших проектов и получить как можно больше возможностей «из коробки». В этой статье мы собрали лучшие текстовые редакторы для веб-разработчиков на данный момент.
Sublime Text (Windows, Linux, Mac)
Это текстовый редактор для веб-разработчиков, написанный на C++ и Python. Он выглядит одинакового на всех поддерживаемых платформах благодаря использованию собственного UI-фреймворка. Разработчики предоставляют бесплатную версию для ознакомления, но для продолжительного использования вам понадобиться приобрести лицензию. Бонус в том, что лицензия предоставляется на пользователя (per user), а не на устройство (per device). При покупке нескольких лицензий для компании также предоставляются скидки.
Основные преимущества Sublime Text:
- Простота использования - открыв Sublime Text, вы сможете практически сразу начать в нем работать.
- Быстрый и гибкий поиск с использованием нечетких совпадений.
- Возможность множественного выделения для ввода одинакового текста сразу в нескольких строках. Для установки позиции курсора нужно нажать Ctrl + левая клавиша мыши или Ctrl + тройной щелчок левой клавишей для выделения целого абзаца.
- Наличие визуальной мини-карты кода - она полезна при работе с большими файлами, так как позволяет быстро находить необходимые фрагменты:
- Возможность использовать сниппеты для ускорения работы и большое количество плагинов для самых разных задач. Главным из них можно считать Package Control, с помощью которого можно искать и устанавливать необходимые плагины прямо из редактора.
Вот несколько примеров плагинов:
Emmet - отличный плагин, который позволяет использовать шорткаты для ввода тех или иных тегов, например:
Ul#nav>li.item$*3>a{Item $}
Emmet преобразует шорткат выше в список с тремя элементами:
SublimeLinter - плагин для проверки синтаксиса. Он позволяет минимизировать количество ошибок, на лету проверяя написанный код. Вам просто понадобиться установить нужные пакеты, например: SublimeLinter-html-tidy, SublimeLinter-csslint, SublimeLinter-jshint и SublimeLinter-php.
CSScomb - плагин, который помогает размещать CSS-селекторы в правильном порядке для простоты чтения и правки в будущем.
Что касается недостатков Sublime Text, то к ним можно отнести его стоимость (70 долларов), а также то, что настройка осуществляется не через GUI, а путем изменения json-конфигов.
WebStorm (Windows, Linux, Mac)
WebStorm - это не просто редактор, а интегрированная среда разработки (IDE), написанная на Java. Но поскольку разница между IDE и редакторами с большим количеством плагинов может быть незначительной, мы решили также включить его в этот список.
WebStorm обладает следующими преимуществами:
- Эффективная работа с проектами любого размера благодаря интеграции систем контроля версий, в том числе Git, Mercurial и Subversion.
- Увеличение качества кода и соблюдение принципов разработки через тестирование (TTD) благодаря использованию JsTestDriver от Google.
- LiveEdit для мгновенного просмотра изменений без перезагрузки страницы.
- Наличие встроенных возможностей для проверки качества кода - JSHint, JSLint, Google Closure Linter.
- Поддержка большого количества технологий: TypeScript, CoffeeScript, Less, Sass, Stylus, Compass, EJS, Handlebars, Mustache, Web Components, Jade, Emmet и другие.
WebStorm - находка для тех, кому нужно много различного функционала и кто готов за это платить: стоимость индивидуальной лицензии за первый год - 59 долларов, стоимость корпоративной лицензии за первый год - 129 долларов. Если же вам нужно что-то более простое, обратите внимание на другие редакторы.
Atom (Windows, Linux, Mac)
В отличие от двух предыдущих редакторов, Atom - продукт бесплатный, с открытым исходным кодом. Он собран из 50 модулей и написан на C++, JavaScript, CSS и HTML. Существует возможность добавлять собственные модули в открытый репозиторий, чтобы ими могли пользоваться другие. У него есть все те же базовые функции, что и у Sublime Text, вроде быстрого поиска нечетких совпадений в проектах и файлах, наличия мини карты, а также использование сниппетов. Он поддерживает упомянутый ранее Emmet, Autoprefixer, автоформатирование кода с помощью atom-beautify, Livereload.
Преимущества Atom по сравнению с платным Sublime Text:
- GUI-настройки вместо JSON-файлов.
- Для установки плагинов не требуется устанавливать Package Control, все делается из визуального интерфейса.
Brackets (Windows, Linux, Mac)
Это текстовый редактор для веб-разработчиков от Adobe. Он обладает открытым исходным кодом и простыми, но нужными фичами, которые присутствуют в уже упомянутых редакторах:
- Мгновенное отображение изменений в браузере ().
- Множественное выделение и редактирование.
Бонус Brackets - это хорошо задокументированное API для создания собственных плагинов, также функция Extract for Brackets (Preview), благодаря которой ускоряется процесс получения данных о цвете, шрифтах и размерах из PSD.
Недостаток Brackets - невысокая скорость работы, если установлено много плагинов.
Coda (Mac OS и iOS)
TextMate и Coda - самые популярные текстовые веб-редакторы для Mac. Мы считаем, что Coda все таки больше подходит для веб-разработчиков, чем TextMate, который задумывался как универсальный продукт. Coda - это легковесный редактор со всеми нужными функциями (вроде сворачивания блоков кода, быстрого поиска и замены, функции автозаполнения для проекта, поддержки Git и Subversion), но при этом он имеет и собственные фишки:
- Возможность удаленно редактировать файлы по FTP, SFTP, WebDAV или на серверах Amazon S3.
- Упрощенный поиск с помощью регулярных выражений благодаря wildcard-кнопкам.
- Предпросмотр WebKit Preview и AirPreview. Последний позволяет использовать iPad или iPhone с версией Coda для iOS для предпросмотра страниц в то время, когда вы верстаете их на своем настольном компьютере.
- Встроенный Terminal и редактор MySQL.
Есть у Coda и собственные плагины, но, разумеется, их не так много, как у редакторов с открытым исходным кодом. Многие хвалят плагин PHP & Web Toolkit, в котором имеется:
- Автоматическая проверка PHP-синтаксиса с переходом к следующей ошибке и автосохранением.
- Упорядочивание, переформатирование кода, написанного на HTML, CSS, JavaScript или PHP.
- Валидация HTML, CSS и JavaScript.
- Минификация JavaScript и CSS.
Стоимость лицензии Coda для одного пользователя - 99 долларов.
Как видим, функционал современных редакторов достаточно обширен, поэтому выбор зависит от используемой платформы, а также от финансовых возможностей. А какой редактор для веб-разработки предпочитаете вы?
Сотрудники студии всегда следят за последними тенденциями веб-дизайна и разработки. Выбрав нас в качестве своего партнера, вы можете быть уверены, что ваш сайт будет отвечать современным стандартам веб-дизайна и разработки.
Существует множество способов писать код для веб-приложений: от текстовых редакторов до облачных сред разработки. Трудно сразу решить, какая среда лучше подходит для поставленных задач. Чтобы сэкономить вам время, выбрали наиболее популярные:
В конце каждого раздела размещена сводная таблица, в которой можно наглядно увидеть сравнение функций редакторов для веб-разработки. В статье рассмотрены исключительно бесплатные кроссплатформенные решения, поэтому популярные проприетарные редакторы вроде Sublime Text не вошли в подборку.
Текстовые редакторы для веб-разработки
Komodo Edit
Основные возможности:
- бесконечная история отмены,
- обширное количество плагинов,
- поддержка сотен языков программирования и форматов файлов,
- мощный поиск и замена,
- интеграция со сторонними инструментами.
GNU Emacs
Настольные интегрированные среды разработки (IDE)
Eclipse
Облачные IDE
Большинство десктопных приложений перешли в «облако», поэтому нет ничего удивительного, что облачные среды также становятся популярными среди программистов. Не каждый сразу доверяет облачным IDE, но популярные инструменты вроде Github и Pastebin помогают привыкнуть к тому, что исходный код хранится не на локальной машине, а на стороннем сервере.
Cloud9
После нескольких минут работы в Cloud9 создаётся впечатление, что попал в рай для программистов. Интерфейс написан на JavaScript, а серверная часть - на NodeJS. Хотя Cloud9 облюбовали разработчики и дизайнеры интерфейсов, поддерживается подсветка синтаксиса C#, C++, Python, Perl, Ruby, Scala и некоторых других языков.
Встроенный режим Vim - приятный штрих, как и поддержка популярных систем контроля версий вроде Git, Mercurial и SVN. Благодаря наличию CSSLint и JSBeautify это одна из красивейших сред разработки.
Codeanywhere
Ещё один инструмент для создания приложений, который часто возглавляет списки лучших - Codeanywhere. Эта дружественная облачная IDE поддерживает подсветку кода HTML, CSS, JavaScript, PHP, MySQL и других языков. Благодаря наличию приложений для iOS, Android и BlackBerry, с помощью Codeanywhere программисты работают где угодно.
Кроме того, Codeanywhere поддерживает Dropbox и SFTP, которые помогают легко создавать резервные копии файлов проекта и обмениваться ими с коллегами. Это не самая полнофункциональная среда, но свою работу выполняет на отлично.
Система платная, но есть бесплатный тарифный план.
Eclipse Che
Eclipse Che - облачное рабочее пространство разработчика и встроенная IDE. Che предоставляет удалённую платформу с открытым исходным кодом для многопользовательского создания приложений.
Основные возможности:
- рабочие пространства, включающие среды выполнения и IDE,
- сервер рабочих мест с RESTful веб-сервисами,
- облачная IDE,
- плагины для языков, платформы и инструменты,
- SDK для создания плагинов и сборок.
Eclipse Che имеет две сборки - однопользовательскую и многопользовательскую. В первой нет компонентов, которые предоставляют мультиарендность и разграничение прав доступа. В этом случае сервер остаётся без защиты, но для локальной разработки - это хороший выбор.
Многопользовательская предоставляет мультиарендность. Учётные записи пользователей и рабочие места изолированы, а для регистрации, управления и аутентификации используется механизм KeyCloak . Permissions API регламентируют доступ к объектам вроде пространств, стеков и организаций. Сведения о пользователях хранятся в базе данных, поддерживающей миграцию (PostgreSQL).
Текстовый редактор используется для редактирования текстовых файлов. Текстовые редакторы отличаются от текстовых процессоров, таких как Microsoft Word или WordPerfect, тем, что они не добавляют в документы дополнительную информацию о форматировании. Вы могли бы написать статью в Word, так как он содержит инструменты для изменения шрифтов, полей и макета, но он по умолчанию вставляет информацию о форматировании и разметке непосредственно в файл, что будет путать компилятор. Если открыть файл формата.doc в текстовом редакторе, вы увидите, что большая часть файла — это коды форматирования. Текстовые редакторы, однако, не добавляют коды форматирования, что помогает легче скомпилировать код.
Почему я должен использовать текстовый редактор?
Текстовые редакторы имеют набор функций, отличающийся от традиционной программы обработки текстов. Например, большинство из них не позволит вам вставлять фотографии или таблицы, или установить двойной междустрочный интервал. Особенности текстовых редакторов варьируются, но есть несколько функций, которые есть у большинства редакторов. Ниже приведены некоторые из наиболее распространенных и полезных функций.
Подсветка синтаксиса
Подсветка синтаксиса является очень полезной функцией. Она заключается в том, что редактор будет выделять определенные слова, или типы, или синтаксис, характерные для языка. Например, если у вас включена подсветка C++, редактор может сделать все ключевые слова C++ зелеными. Так гораздо легче следовать потоку вашей программы. Вот другой пример: редактор может отображать весь текст в кавычках светло-голубым. Таким образом, если вы забыли поставить открывающие или закрывающие кавычки, вы быстро это поймете из-за цвета текста на экране. Текстовый редактор также может указать на неправильное употребление квадратной или круглой скобки, выделяя их красным цветом; если у вас есть закрывающая скобка, но нет открывающей, цвет подскажет вам, что вы сделали где-то синтаксическую ошибку.
Гибкость
Откуда редактор знает какие слова выделять? Хороший вопрос. Редактор знает, на каком языке вы программируете. Либо вы можете сами указать язык, либо он может, как Vim , определить это по расширению файла. Если вы работаете с файлом с именем code.cc , он увидит.cc и будет знать,что надо использовать правила C++, но если вы работаете с одним из code.html , он будет применять правила HTML. Некоторые редакторы знают сотни языков, начиная от банальных (C, Java, Perl) до по-настоящему сложных (TADS, ABAQUS). Это означает, что вы можете использовать один и тот же редактор для программирования практически в любом языке и по-прежнему пользоваться теми же функциями и набором команд, к которым вы привыкли.
Автоматические отступы
Автоматические отступы, пожалуй, самая полезная функция текстового редактора. Вы бы предпочли иметь дело с кодом, который выглядит следующим образом:
// поиск минимального элемента в матрице const int search_min(int **const array, const int kol_tasks,const int type_model) { int min; for (int i = 0; i < kol_tasks; i++) { for (int j = 0; j < type_model; j++) { if (array[i][j] != -1) { min = array[i][j]; i = kol_tasks; j = type_model; } } } for (int i = 0; i < kol_tasks; i++) { for (int j = 0; j < type_model; j++) { if (array[i][j] < min && array[i][j] != -1) { min = array[i][j]; } } } return min; }
или кодом, который выглядит следующим образом?:
// поиск минимального элемента в матрице
const int search_min(int **const array, const int kol_tasks,const int type_model)
{
int min;
for (int i = 0; i < kol_tasks; i++)
{
for (int j = 0; j < type_model; j++)
{
if (array[i][j] != -1)
{
min = array[i][j];
i = kol_tasks;
j = type_model;
}
}
}
for (int i = 0; i < kol_tasks; i++)
{
for (int j = 0; j < type_model; j++)
{
if (array[i][j] < min && array[i][j] != -1)
{
min = array[i][j];
}
}
}
return min;
}
Я так и думал. Текстовый редактор избавит вас от необходимости ставить все табы самостоятельно, он добавит их автоматически. Это позволяет вам следить за потоком управления через отступы, так что вы можете убедиться, что вы находитесь в нужном блоке кода.
Быстрые функции навигации
Если ваша программа не тривиальна, вы захотите иметь возможность быстро находить в ней определенные функции, экземпляры определенных переменных или отдельные строки. Текстовые редакторы обычно имеют больше возможностей, чем текстовые процессоры. Например, скажем, при компиляции программы вы обнаружили, что у вас есть синтаксические ошибки в строке 312. В Vim все что вам нужно сделать, это набрать 312G, и курсор переместится на строку 312. (Откуда Vim знает, что вы не хотите ввести символы 312G в документе? Подробнее об этом по ссылке в конце статьи).
Какой текстовый редактор я должен использовать? В чем разница между ними? Как я могу его получить? Сколько они стоят?
Есть много-много разных редакторов, среди которых Vim и Emacs являются самыми популярными, мощными и есть на разных ОС. Другой популярный редактор Notepad++ — это значительно улучшенная версия Notepad . Большинство редакторов (Vim и Emacs входит в комплект) бесплатны, но некоторые из них shareware. Я использую Vim , но у каждого редактора есть свои поклонники. Для составления списка некоторых из лучших редакторов, доступных для вашей платформы, просмотрите FAQ о текстовых редакторах. (Он нацелен на среднестатистических пользователей, но все перечисленные редакторы очень хороши для написания C++ кода.)
ВведениеНаверное, каждый пользователь, работавший в 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 - молодая программа с перспективой стать хорошим подспорьем программисту...
Не для каждой задачи и не каждого проекта требуется полноценная IDE, поэтому для многих основным инструментом по-прежнему остается любимый текстовый редактор. И кажется, что выбор прост: мощный, расширяемый, но простой Sublime Text, живая классика в лице emacs и vim, а также моноплатформенные фавориты - Notepad++ для Windows, TextMate для OS X и Geany для Linux. Но ведь новые редакторы появляются чуть ли не каждый день - есть ли тебе смысл менять привычки? Давай посмотрим, что происходит.
Atom
Еще в августе 2011 года один из основателей GitHub Крис «defunkt» Уонстрат поставил перед собой амбициозную цель: создать редактор, который был бы по-настоящему открытым и предлагал неограниченные возможности для хакинга, но при этом не превращался бы во второй Vim или Emacs (который, как известно, умеет почти все, но только если у тебя мозги как у Джеффа Дина). И вот спустя три года и более чем пятнадцать тысяч коммитов началось публичное бета-тестирование. В марте этого года Atom стал доступен для загрузки всем желающим. Чем же собирается перевернуть наш подход к кодингу знаменитая компания?
Первое, что бросается в глаза при запуске нового детища GitHub, - это невероятно похожий на Sublime Text интерфейс. Само по себе это не минус. Известный факт, что интерфейс Sublime был вдохновлен другим, некогда не менее популярным редактором кода для OS X TextMate. Нынешняя история с Atom и Sublime лишь подчеркивает удачные решения GUI последнего.
Вторая особенность Atom заключается в том, что это, по сути, веб-приложение в обертке Chromium. Нет, конечно, у редактора есть своя иконка в доке, нормальные системные меню и поддержка нативных хоткеев. Просто ядро Atom написано по большей части на CoffeeScript, работает оно на Node.js, а сам интерфейс редактора является HTML-страницей со вполне обычной разметкой. Убедиться в этом можно, если выбрать из меню View пункт Developer -> Toogle developer tools.
Третья интересная фишка Atom - его модульность. В лучших традициях экосистемы Node.js он написан с использованием максимального количества открытых модулей (больше пятидесяти). Это значит, что если тебе не нравится какой-то штатный функционал, то, по уверениям разработчиков, ты без труда сможешь подобрать ему замену из более чем 70 тысяч пакетов в npm registry или написать свой плагин. Учитывая, что JavaScript фактически уже давно стал самым популярным языком на GitHub, и у CoffeeScript лишь немного отстает от Perl, это вселяет уверенность в будущее Atom.
А что же с киллер-фичами? Вот тут все не так радужно. То ли дело в молодости проекта, то ли еще в чем-то, но Atom, кроме громкого имени создателей и больших надежд, из коробки не предоставляет ничего, что бы могло заставить часами играться с ним. То, что преподносится разработчиками как преимущества (например, автокомплит, вкладки, коллапс кода, снипеты), может вызвать лишь снисходительную улыбку на лицах адептов Sublime. Да, конечно, Atom уже имеет свой пакетный менеджер, но я не нашел в его репозиториях ничего такого, что было бы нельзя реализовать с помощью плагинов для Sublime.
Light Table
Разработка Light Table началась в 2011 году, когда американский программист Крис Грейнджер решил, что процесс работы с кодом в современных текстовых редакторах недостаточно хорошо вписывается в современный workflow. Если кратко, задача Light Table - сделать процесс разработки по-настоящему интерактивным и наглядным, давая разработчику моментальный фидбек на любое действие, тем самым помогая быстрее ориентироваться в большом коде. Именно с такой идеей Крис подался на Kickstarter и достаточно быстро собрал на разработку проекта 316 720 долларов при заявленной цели в 200 тысяч. Чем же конкретно идеи Криса так приглянулись бейкерам?
Одной из самых крутых особенностей Light Table является возможность работать с документацией по ходу написания кода. Чтобы увидеть описание функции, достаточно просто навести на нее курсор. Редактор моментально найдет и выведет документацию по запрошенной функции или параметру (в случае с build-in методами) или покажет prepend-описание функции, оставленное прямо в коде. Чем-то это напоминает автокомплит, который используется в среде разработки Visual Studio от Microsoft, но значительно более глубокий и мощный.
Второй киллер-фичей можно назвать мгновенное выполнение функций по ходу написания кода. Это позволяет в режиме отладки пробовать различные входные условия и видеть не только результат, но и как переменные проходят через весь код. Тоже достаточно полезная штука, особенно когда ты не уверен в результате выполнения какого-либо участка кода.
Третья фишка Light Table - уникальная возможность организации кода в так называемые таблицы. Они представляют собой логически завершенные блоки кода, через которые можно наглядно представить взаимодействие отдельных функций программы. С помощью этой фичи очень удобно разделить файл на несколько независимых блоков-функций и работать с ними, соорудив некое подобие настоящего дашборда из кода. Также приятной особенностью является интеллектуальная подсветка блоков - в этом случае шансы запутаться в и без того наглядном workflow стремятся к нулю.
Несмотря на довольно непривычную философию, Light Table - это, несомненно, редактор нового поколения. Его фишка не в том, что он написан на модных технологиях, а в изменении самого подхода к процессу разработки сложного ПО. Наверное, при работе с простенькими JS-скриптами реальная мощь Light Table не почувствуется, но для проектов чуть посложнее он станет незаменимым инструментом. Нужно только привыкнуть. Но вот это как раз-таки будет непросто.
Lime
Весь Lime можно описать одной-единственной, но известной фразой Бобука - блеск и нищета опенсорса. Проект, начатый в прошлом году Фредриком «quarnster» Энбомом (Fredrik Ehnbom), решает одну-единственную, но понятную задачу: создать опенсорный конструктор по образу и подобию Sublime Text. Причина такого желания понятна - автор, горячий поклонник Sublime, был недоволен вялым развитием проекта и отсутствием банального исправления багов прошлых версий. Идея оказалась близка нескольким десятками единомышленников, и вскоре свет увидела первая версия Lime.
Первое, что отталкивает при знакомстве с этим редактором, - отсутствие хоть какого-нибудь подобия бинарных пакетов. В целом логика такого решения понятна: Lime - это и не цельное приложение, а набор из отдельного бэкенда на языке Go и пары фронтендов на выбор. Однако легче от этого не становится - попытка с наскока заставить Lime элементарно работать превращается в увлекательную возню с зависимостями Go, конфигами и прочими радостями жизни.
Что касается работы в этом редакторе, на данный момент она откровенно неудобна, и написать здесь о чем-то уникальном, по сути, нечего. Lime пока не может похвастаться даже теми функциями, которые в других текстовых редакторах воспринимаются как должное. Создается впечатление, что разработчики пока уделяют куда больше внимания архитектуре приложения и чистоте кода, чем функционалу. До некоторой степени ситуацию спасает частичная совместимость с API Sublime (ну и некоторых частей TextMate, соответственно), но, несмотря на это, с юзабилити у Lime остаются большие проблемы.
В целом на сегодняшний день Lime оставляет двоякое впечатление. Наверное, это здорово, когда твой рабочий инструмент полностью опенсорный и настолько гибкий. Но давай будем честны с собой: скольким из нас когда-либо придет в голову переписать фронтенд своего текстового редактора? Скольким из нас вообще придет в голову заниматься разработкой текстового редактора под себя из-за каких-то неудобств вместо того, чтобы использовать этот инструмент по прямому назначению - а именно писать в нем свои программы? Большинству разработчиков (особенно тем, кто не болен Столлманом головного мозга) за глаза хватит функционала Sublime Text и его системы плагинов для решения повседневных задач. Да и, если честно, за несколько лет ежедневной работы в Sublime я не встречал каких-то сверхкритичных багов, для которых бы не смог найти своего workaround’а. Так что на данном этапе по-настоящему Lime подойдет лишь упертым фанатам опенсорса с огромным количеством свободного времени и желанием сделать этот мир чуточку лучше.
Brackets от Adobe
Brackets - достаточно молодой (разработка ведется с 2011 года), но интересный проект от Adobe. Его цель незамысловата - создать минималистичную и комфортную среду разработки, которая бы требовала минимум усилий со стороны девелопера. На моей памяти было уже немалое количество проектов со схожими целями. Давай посмотрим, получилось ли у Adobe с помощью комьюнити сделать что-то интересное и на этом поприще.
На удивление, Brackets получился весьма неплохим. Все необходимое работает из коробки (после Lime даже это становится в некотором смысле плюсом). Проект действительно решает свою главную задачу - облегчает написание кода, хотя и делает это практически без каких-либо принципиально новых подходов. И кстати, в этом нет ничего плохого.
Brackets написан на HTML/JS (спасибо, что не Flash или Adobe AIR:)), тесно интегрирован с Node.js. Внешне из коробки производит весьма благоприятное впечатление (правда, не без налета некоторой игрушечности). Что меня подкупило с нажатия первой клавиши - так это потрясающий автокомплит для HTML/CSS/JS/jQuery. Он действительно умный и к тому же содержит множество приятных мелочей (например, встроенный color-picker или тулзу для гуишного подбора transition’ов в CSS).
Но главной киллер-фичей для меня стало inline-редактирование связанных участков кода. Это возможность посмотреть и отредактировать, скажем, набор CSS-свойства по его классу или ID-шнику прямо из HTML-файла верстки в отдельной области. Brackets в реальном времени анализирует структуру твоего проекта, строит дерево зависимостей и позволяет писать взаимозависимые участки кода, практически не покидая основного контекста файла. Признаюсь, именно такой функционал я пилил пару лет назад в своем простеньком текстовом редакторе (уверен, не я один). Так что подобная фишка не может не радовать.Из остальных особенностей можно выделить быстрый доступ к документации (правда, не настолько детализированный, как у Light Table), JSLint из коробки и симпатичный менеджер плагинов. Хотя, конечно, таким обилием пакетов, как у Sublime, Brackets пока похвастаться не сможет.
В целом, несмотря на поддержку в некоторой степени, например, Ruby или Python, Brackets ориентирован в первую очередь на фронтенд разработчиков. Он отлично справится с нуждами верстальщиков, в чем-то оставляя позади даже специализированные IDE. Ничего революционно нового, кроме inline-редактирования кода, ты в нем не найдешь. Однако то, что есть, сделано на совесть и с душой. Если ты преимущественно верстаешь или пишешь клиентский код на не слишком замороченном стеке, вполне возможно, Brackets придется тебе по душе.
Zed
Zed - это довольно хипстерский текстовый редактор, который также пытается переосмыслить современный процесс разработки ПО. Если Light Table пытается изменить сам принцип разработки, то Zed в основном ограничивается экспериментами с интерфейсом. Разработка была начата в 2011 году, и на сегодняшний день на официальном сайте Zed доступен в виде бинарников под основные платформы, а также в качестве приложения для Chrome Web Store.
Первое, что бросается в глаза при знакомстве с Zed, - отсутствие привычных элементов интерфейса вроде дерева проекта или вкладок. Достаточно спорный шаг, весь зачастую при разработке значительно легче ориентироваться в структуре проекта именно по дереву. Но вот в отсутствии табов некое рациональное зерно есть: обычно при работе с большими проектами количество открытых вкладок разрастается экспоненциально, и уже через полчаса работы приходится постоянно ходить по ним, закрывая то, с чем ты не работаешь в данный момент. В Zed же навигация по проекту осуществляется или с помощью прыжка напрямую к нужному файлу в проекте по его названию (Ctr/Cmd + E) через небольшую консоль в верхней части приложения.
Второй запоминающейся особенностью Zed является упор на многоколоночный интерфейс. Редактор поддерживает несколько фиксированных вариантов сплита рабочего пространства - 50/50%, 25/75% и так далее. Стоит отметить, что вторая (или даже третья) колонка предназначена не только для одновременного редактирования нескольких файлов, но также и для моментального предпросмотра кода на языках, требующих пропроцессинга (таких как Markdown или CoffeeScript).
При работе с Zed очень чувствуется его ориентированность на удаленное редактирование. Так, из коробки он имеет шикарную поддержку редактирования файлов из Dropbox или напрямую на удаленном сервере и поддерживает сессии. Но вот именно как редактор Zed весьма беден. Его встроенное автодополнение базируется на словаре, он не имеет удобных средств работы с расширениями, не позволяет настроить UI так, как хотелось бы. Хотя, наверное, Zed просто не об этом.
Кстати, нельзя не отметить, что Zed весьма задумчив. Временами приложение достаточно надолго застывает и теряет всякую отзывчивость, что, конечно, не добавляет удобства к и так довольно необычному экспириенсу.
В общем, Zed странный, и он однозначно не для всех. Если ты не заморачиваешься с бесконечной настройкой пользовательского интерфейса, тебе важна переносимость, возможность стабильного редактирования файлов на удаленном сервере и ты готов попробовать что-то необычное, можешь поиграться. Но для повседневного написания кода Zed явно не подойдет.