Осмотр шести редакторов текста с подсветкой кода
Текстовый редактор используется для редактирования текстовых файлов. Текстовые редакторы отличаются от текстовых процессоров, таких как 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++ кода.)
Редакторы исходного кода под Linux. Редакторы с подсветкой синтаксиса. C, C++ редакторы. PHP, Perl, HTML редакторы.
-
Visual Studio Code — функциональный редактор кода от компании Microsoft.
Atom
Atom — современный, удобный, функциональный редактор кода. Имеет встроенный менеджер пакетов (плагинов) для расширения возможностей.
-
Brackets — бесплатный редактор для web-дизайнеров и разработчиков. Преимущественно предназначен для написания и редактирования HTML, CSS и JavaScript кода.
-
Textadept — текстовый редактор для программистов. Выполнен в минималистичном стиле, позволяет разделять рабочее окно на несколько частей и просматривать один или несколько файлов одновременно. Поддерживается подсветка синтаксиса для большинства языков программирования.
-
JuffEd — редактор кода для Linux. Умеет подсвечивать код (синтаксис), поддерживает сворачивание блоков кода, подсвечивание парных скобок и многое другое. Редактор похож по функциональности на Notepad++.
-
NetBeans — мощная бесплатная интегрированная среда разработки приложений (IDE). Поддерживает языки программирования Java, PHP, JavaScript, Ajax, Ruby, Ruby on Rails, C/C++ и другие.
Medit
Medit — текстовый редактор для Linux с подсветкой синтаксиса. Поддерживает основные языки программирования и языки разметки.
-
Screem — Site CReating and Editing EnvironMent — текстовый редактор для веб-дизайнеров. Screem предназначен в первую очередь для написания HTML или XML кода.
-
Bluefish Editor — текстовый редактор кода для веб-дизайнеров и программистов. Поддерживает подсветку синтаксиса для большинства языков программирования.
Не для каждой задачи и не каждого проекта требуется полноценная 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 явно не подойдет.
Для нас, разработчиков, выбор редактора исходного кода не является чем-то малозначительным. Это среда, в которой мы тратим большинство своего времени. От редактора кода зависит наша продуктивность.
Нет двоих схожих разработчиков, поэтому здесь предоставлено изобилие редакторов кода, из которых можете выбрать лучший для себя. Чтобы понять, какой из них лучший, мы будем оценивать разные критерии по 5 бальной шкале. Мы обратим внимание на:
- Удобство использования - насколько редактор прост для новичков, насколько интуитивно понятен, когда мы открываем его впервые.
- Мощность - критерий всех новшеств, возможностей редактирования кода, автодополнение, режимы редактирования и т.д.
- Расширяемость - поддерживает ли редактор плагины, дополнительные библиотеки.
- Эстетика - мы любим красоту в нашей работе, насколько среда приятная на вид, насколько аккуратно выглядит код в ней.
- Скорость - насколько быстро запускается редактор, насколько быстро открывает большие файлы.
- Кросс-платформенность - доступен ли редактор для нескольких операционных систем.
- Цена - самая дешевая цена, получает наивысшую отметку.
Редакторы кода предоставлены в группах, которые предназначены для конкретных типов разработчиков.
Для Гуру
Вы спросите, кто такие гуру? В основном, это люди которые использовали редакторы программного кода еще до того как вы родились. Инструменты этой группы тяжелые и широки. Они могут запускаться с терминального окна и согласно UNIX традициям, все их настройки определяются в файле конфигурации.
Vim
Выпущен в 1991 году. Универсальный и мощный редактор получил множество поклонников по всему миру. Что делает его особенным среди других, это технология командной строки. Вместо простого написания кода, вы выбираете режим ввода для текста, запускаете поиск и используете еще больше указаний. Этот редактор импортирован на всех известных операционных системах. Vim также может быть расширен с помощью скриптов и плагинов. Это бесплатный софт, который уже инсталлирован на многих Linux системах.
Emacs
Разработка Emacs началась в далеких 1970-х и продолжается до сих пор. Этот редактор известен своей расширяемостью. Это один из первых редакторов, который поддерживает подсветку кода, автоматическое выравнивание кода и поддержку многих программных языков. Подобно Vim, он также кросс-платформенный и может использоваться через терминальное окно или графический интерфейс. Emacs это бесплатный и открытый ресурс.
Для профессионалов
Редакторы кода в этой категории полностью вооружены средствами разработки. Они просты в использовании и располагают мощными средствами. Разработчики могут писать, компилировать, тестировать и запускать в одном приложении.
Eclipse
Eclipse чаще всего используется для разработки Java приложений. Этот софт поддерживает плагины, которые делают возможной поддержку дополнительных языков программирования. Есть плагины для C/C++, Ruby, PHP и других. Eclips предлагает мощных хинтинг кода, построенный на документациях и проверке синтаксиса в реально м времени. Большие компании, например Google, предоставляют свои средства разработки для этой платформы. Вы можете легко создавать приложения для Android и App Engine. Eclipse бесплатный и открытый ресурс.
Aptana Studio
Aptana это среда разработки предназначена для тяжелых AJAX приложений. Эта среда поддерживает большинство популярных веб языков: PHP, JavaScript, HTML, CSS, Ruby, Python и другие с помощью плагинов. Также есть Git интеграция, возможность тестировать приложение на локальном сервере, и множество полезных сниппетов кода для каждого языка программирования. Подобно Eclipse, Aptana бесплатный и открытый ресурс.
Netbeans
Еще одна среда для Java, но как и Eclipse, может быть расширена для дополнительных языков: PHP, Python, C/C++ и других. Приложение запускается на Linux, Windows и OSX. Netbeans может ускорить процесс разработки десктопных приложений с помощью Drag and Drop конструктора. Негативной стороной является производительность - Netbeans может тормозить на больших проектах. Этот редактор кода бесплатный и открытый ресурс.
Dreamweaver
Dreamweaver это часть приложений Adobe Suite предназначенных для веб дизайнеров. Он поддерживает только наиболее популярные языки веб программирования - PHP, ASP.NET, JavaScript, HTML, CSS. Очень удобный для новичков, с поддержкой WISIWYG редактирования, живого просмотра, тестирование на удаленном сервере и разработка приложений с помощью jQuery mobile и Phonegap. Dreamweaver доступен на OSX и Windows. Если покупать весь пакет приложений за 399$, нет смысла ею пользоваться. Но если купить отдельно, может быть в этом что-то есть. Еще проще будет .
Visual Studio
Visual Studio это «все в одном», среда разработки для Windows. Этот редактор поддерживает большое количество языков: C/C++, C#, VB.NET и F# которые встроены в среду. Имеет мощные средства для автозавершения кода, подстрочная документация, проверка ошибок, дебаггинг, дизайн форм, создание схем баз данных и многое другое. Цена начинается с 500$, но экспресс версия программы доступна бесплатно.
Xcode
Xcode это решение от Apple для разработки OSX и iOS приложений. Поддерживает C, C++, Objective-C, Objective-C++, Java, AppleScript, Python и Ruby. С помощью Xcode, вы можете писать, проводить дебаггинг, делать тестирование приложений. Имеет конструктор интерфейсов и эмулятор мобильных устройств, для тестирования iOS приложений. Xcode использовали, как платный редактор, но сейчас они предлагают бесплатно.
Coda 2
Coda это «все в одном» редактор для веб разработчиков. Поддерживает передачу файлов через протокол FTP, навигацию по коду и файловой структуре, сайты и группы сайтов, управление MySQL и многое другое. С новым Coda 2, вы можете использовать iPad для просмотра. Стабильная цена 99$, но вы можете получить по дисконту за 75$.
Для эстетов
Эти редакторы кода красивые, легкие, просты в использовании и расширяемы. Очень много разговоров о них, многие предоставляют плагины, пишут статьи, и предлагают решения как сделать лучше тот или иной редактор.
TextMate
TextMate в основном графический текстовый редактор для OSX. Поддерживает макросы, хранение кода, сниппеты, интеграцию shell, управление проектами. Text Mate 2 предположительно будет предоставлен со всем что только можно. Редактор стоит около 50$.
Sublime Text 2
Sublime это красивый кросс-платформенный редактор. Он быстрый и богат функционалом, для практически каждого языка программирования. Поддерживает несколько выделений, сворачивание кода, макросы, проекты и другое. Также возможно полноэкранное редактирование, которое выглядит превосходно на больших мониторах. Запускается на Linux, Windows и OSX. Этот редактор предоставляется с неограниченным тестовым периодом, но вам нужно купить лицензию за 59$, которая может быть использована на каждом компьютере.
Для прагматиков
Notepad++
Этот мощный и легкий редактор должен быть у каждого разработчика, который пользуется Windows. Хотя название нагадывает расширенный блокнот, это могучий инструмент. Он прост для новичков, но он также подходит для профессионалов. Notepad++ поддерживает каждый из популярных языков программирования. Поддерживает разбиение рабочей среды на два окна редактирования, FTP браузер, макросы и мощные возможности редактирования текста. Notepad++ абсолютно бесплатный. Его можно .
TextWrangler
TextWrangler это бесплатный и легкий редактор для OSX. Поддерживает все языки программирования. Предлагает мощный функционал поиска и замены, манипуляции с текстом, сравнение файлов, FTP поддержка и многое другое.
CodeLobster
CodeLobster обладает простым и мощным функционалом для веб программиста. Подходит для всех версий ОС Windows: 8, 7, Vista, XP, 2003, 2000, ME, Server. Гибкая настройка рабочей среды, всплывающие подсказки по функциям, отладка, и todo список. Этот редактор рекомендован именно для веб разработчика, он легко расширяется для работы с различными фреймверками: CakePHP, CI, Drupal, JQuery, Yii, Smarty, Symfony, WP, Facebook. Облегченный вариант редактора доступен бесплатно. С набором инструментов 40$, в полном наборе плагинов и расширений более 100$.
Лучшим из редакторов кода является…
Не смогли найти свой редактор в этом списке? Расскажите нам, какой ваш любимый редактор в комментариях ниже!
Так и те, кто уже давно занимаются веб-разработкой. Ведь всегда появляется что-то новое, изменяются требования заказчиков, повышаются собственные навыки, хочется автоматизировать рутинные процессы для больших проектов и получить как можно больше возможностей «из коробки». В этой статье мы собрали лучшие текстовые редакторы для веб-разработчиков на данный момент.
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 долларов.
Как видим, функционал современных редакторов достаточно обширен, поэтому выбор зависит от используемой платформы, а также от финансовых возможностей. А какой редактор для веб-разработки предпочитаете вы?
Сотрудники студии всегда следят за последними тенденциями веб-дизайна и разработки. Выбрав нас в качестве своего партнера, вы можете быть уверены, что ваш сайт будет отвечать современным стандартам веб-дизайна и разработки.