Текстовый редактор для редактирования кода. Какой лучший редактор HTML, PHP, CSS, JS кода

Не для каждой задачи и не каждого проекта требуется полноценная 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 явно не подойдет.

ВведениеНаверное, каждый пользователь, работавший в 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 - молодая программа с перспективой стать хорошим подспорьем программисту...

PHP – прекрасный язык для создания веб-страниц. На данный момент он поддерживается большинством хостингов и является лидером из языков программирования, для создания динамических веб-сайтов. Началом создания PHP принято считать 1994 год, когда Расмус Лердорф создал простой набор скриптов для обработки HTML документов… Возможно потому, что в момент создания обработчик PHP писался на Си, синтаксисы языков очень схожи…

1 место. PhpStorm

PhpStorm – это кросплатформенная среда разработки для языка PHP. Программа представляет многофункциональный и интеллектуальный редактор для языков PHP, HTML и JavaScript. Есть множество возможностей программы, из которых хочется отметить возможность анализа и кодинга на лету, функция предотвращения ошибок обеспечивает непревзойденную работоспособность.

2 место. Sublime Text

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

3 место. Komodo IDE

Komodo является профессиональным IDE для крупных языков веб-программирования, включая Python, PHP, Ruby, Perl, HTML, CSS и JavaScript. Вы будете наслаждаться этим редактором и развивается быстрее, используя полный набор инструментов. Основные функции: сворачивание кода, многооконное редактирование, умная проверка синтаксиса, подсветка, мощные фрагменты и удобные макросы для инструментов и другие функции, повышающие производительность. Гладкий интерфейс освобождает пространство и даёт простор для творчества.

4 место. Expression Studio

Это не просто приложение, это целый пакет программ, разработанный компанией Microsoft. В составе этого пакета есть: визуальный редактор, инструменты для проектирования интерфейса, графического дизайна, и множество других средств.

5 место. PhpED

Программа имеет множество инструментов, которые очень полезны в разработке как в PHP так и в других языках, которые поддерживает редактор. Для отладки веб-приложений используется встроенный веб-сервер. Сначала вы можете потратить множество времени и усилий на настройку, но это того стоит. Также минусом программы является то, что нет дистрибутива на MAC и Linux.

6 место. PHPEdit

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

7 место. Dreamweaver

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

8 место. phpDesigner

Этот редактор кода специально заточен под PHP, конечно с его помощью вы можете создавать и редактировать проекты на других языках, но это будет малоэффективно. Из недостатков сразу бросается в глаза отсутствие кросплатформенности, этот редактор идёт только под Windows. В отличие от других редакторов в нём нельзя менять размер шрифта (кто его знает, может зрение плохое, а у большинства программистов именно такое). В программе также отсутствует удобное вертикальное выделение. Но несмотря на все имеющиеся недостатки, у phpDesigner имеется лучшая подсветка кода, она очень хорошо организована, вообщем, попробуйте – узнаете.

9 место. PHP Studio 2010

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

10 место. RadPHP

RadPHP ориентирован на тех, кто не имеет большого опыта кодирования. Из достоинств нельзя не отметить подсветку синтаксиса, наличие встроенного браузера и отладчика, возможность создания точек остановки, сразу заметна простота использования. Имеется тех поддержка, организованная на высшем уровне. Из недостатков сразу бросается что нету дистрибутивов под MAC и Linux.

Текстовый редактор используется для редактирования текстовых файлов. Текстовые редакторы отличаются от текстовых процессоров, таких как 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++ кода.)

Converter

Этот плагин преобразует выделенный текст (или шестнадцатеричную строку ASCII) в ASCII или шестнадцатеричные строки по вашему выбору. Формат генерируемой шестнадцатеричной строки может быть установлен путем изменения параметров в разделе из converter.ini . Для этого потребуется перезапустить редактор Notepad++

При помощи этого плагина Notepad++ можно запускать командную строку с параметрами. В Notepad++ есть даже инструкция, как создавать компиляции скриптов для каждого типа файлов исходного кода.

При помощи данного плагина можно решать различные сложные задачи. Например, нужно при помощи NppExec скомпилировать свои C файлы, запустить их, и показывать свои данные.

Вот как это делается для Perl. То есть, просто адаптируется для C

1 2 3 4 5 6 7 8 9 10 11 12 13 14 * Open Notepad * Type F6 to open the execute window * write the following commands: o npp_save < -- Saves the current document o CD $(CURRENT_DIRECTORY) <-- Moves to the current directory o perl.exe -c -w "$(FILE_NAME)" <-- executes the command perl.exe -c -w , example: perl.exe -c -w test.pl (-c = compile -w = warnings) * Click on Save * Type a name to save the script (ie Perl Compile) * Go to Menu Plugins -> Nppexec -> advanced options -> Menu Item * In the combobox select the script recently created and click ok -> ok * Restart Notepad * Go to Menu Settings -> Shortcut mappter -> Plugins -> search for the script name * Select the shortcut to use (ie ctrl + 1), click ok * Verify that you can now run the script created with the shortcut selected.

* Open Notepad * Type F6 to open the execute window * write the following commands: o npp_save < -- Saves the current document o CD $(CURRENT_DIRECTORY) <-- Moves to the current directory o perl.exe -c -w "$(FILE_NAME)" <-- executes the command perl.exe -c -w , example: perl.exe -c -w test.pl (-c = compile -w = warnings) * Click on Save * Type a name to save the script (ie Perl Compile) * Go to Menu Plugins -> Nppexec -> advanced options -> Menu Item * In the combobox select the script recently created and click ok -> ok * Restart Notepad * Go to Menu Settings -> Shortcut mappter -> Plugins -> search for the script name * Select the shortcut to use (ie ctrl + 1), click ok * Verify that you can now run the script created with the shortcut selected.

NppExport

Полезный плагин Notepad++, с помощью которого можно экспортировать файлы в html, rtf форматы

Вот как он работает. Открываем файл, переходим на вкладку «Пл агины» > NppExport > Export to HTML. То есть, экспортируем файл в HTML формат. Код может быть просмотрен в любом браузере

Чрезвычайно полезный плагин. С его помощью можно работать с файлами прямо на сервере. Плагин позволяет моментально загружать файлы с сервера, вносить в них изменения прямо в окне редактора, и сохранять их, тем самым автоматически отправляя измененный файл обратно на сервер. Это очень удобно, поверьте!

NppNetNote

С помощью данного плагина Notepad++ у вас появится возможность дать возможность редактировать файл удаленно. То есть, вы можете сами подключиться, или дать возможность подключиться своему другу к вашему файлу, и после этого вы сможете вдвоем, одновременно редактировать файл.

Plugin Manager

Этот плагин является мозгом системы апгрейда текстового редактора Notepad++. С помощью этого плагина пользователь может обновлять, удалять или устанавливать плагины для Notepad++. Просто открываем этот плагин, выбираем плагин из списка доступных для загрузки, и устанавливаем его. Либо просто обновляем плагины. Их вообще много. У меня установлено по-умолчанию 10 плагинов, а в списке доступных я насчитал аж 72 плагина для Notepad++!!! Небольшое уточнение. В Windows 7 чтобы обновляться, необходимо запускать программу от имени администратора.

Spell- Checker

Данный плагин предназначен для проверки орфографии, напободобие вордовского встроенного словаря. Здесь все тоже самое по аналогии. Только предварительно нужно будет установить программу ASpell.

Другие полезные возможности бесплатного текстового редактора Notepad++

1. Подсветка синтаксиса

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

Например, ставим подсветку php кода

Помимо непосредственно самой подсветки преимущество заключается еще и в том, что информация разбивается на специальные контейнеры, с помощью которых можно изучать сложный код, чтобы не путаться. В данном случае из скриншота выше, я раскрыл 745 строку (нажал на значок «-» минус), чтобы посмотреть контейнер целиком. Теперь вместо минуса «-» там значится плюс «+», и изучение кода становится проще и понятнее

2. Редактор Notepad++ в кодировке UTF-8 (без BOM)

UTF-8 в переводе с английского означает формат преобразования Юникода. На сегодняшний день эта кодировка является одной из наиболее популярных и используемых. С её помощью реализуется представление Юникода, совместимое с 8-битным кодированием текста.

Теперь что касается кодировки UTF-8 без BOM, про которую вы уже могли слышать. Дело в том, что движок WordPress (см. ) работает с кодировкой UTF-8, но если пользоваться стандартным блокнотом Windows, то при сохранении файлов в кодировке UTF-8, эта прелесть добавляет в PHP-файлы невидимые символы. Именно они и называются BOM. Поэтому UTF-8 без BOM и означает, что файл не содержит всей это радости, т.е. лишних невидимых символов. Эта проблема успешно решается с помощью бесплатного текстового редактора Notepad++, который может преобразовывать либо сохранять файлы Html (см. ) и PHP (см. ).

Преобразовать файл из исходной кодировки в кодировку UTF-8 (без BOM) можно следующим образом:

Делается все просто. Берем, к примеру, файл, где содержится английский текст, вписываем вместо английских букв русские, после чего идем на вкладку «Кодировки», выбираем «Преобразовать в UTF-8 без BOM, и жмем на значок дискетки. Все, файл сохранен.

3. Закладки

Программа Notepad++ содержит такую полезную штуку. Предположим, у меня есть несколько файлов в формате.txt, где я храню всякую нужную информацию: разные html коды, напоминания. В общем, текущую рабочую информацию, и просто часто используемую информацию. Ну, к примеру, нужно мне найти для какой-нибудь цели (неважно для какой) в моем.txt файле теги . Кроме этих тегов в этом файле может быть куча другой информации. И мне чтобы найти эти теги , нужно будет скролить документ то вверх, то вниз, пока не найду. В итоге получается глупая работа. А если за день нужно открывать этот.txt файл не один, а несколько раз, то в итоге получается, что какое-то время просто глупо тратим время на скролинг документа то вверх, то вниз. Проблема решается легко. Находим нужную нам строку, и дважды кликаем рядом с её номером. И сразу же напротив неё появится закладка. А потом эту закладку легко можно найти, нажимая F2 на клавиатуре.