Когда вышел редактор Coda, я был поражён его интерфейсом и удобстовом. И всё меня в нём устраивало, но вот тут в одной из RSS-лент я увидел сообщение о выходе новой версии редактора Espresso 1.1…

И вот уже два месяца я пользуюсь «Эспрессой» и не могу нарадоваться. Вот, решил поделиться радостями в небольшом, сравнительном с Coda, обзорчике.
Кстати, это продукт компании Macrabbit. Да-да, именно они выпустили удивительный CSSEdit, которым, правда, я так и не смог пользоваться из-за непобедимой привычки писать CSS ручками.
Что меня подкупило в Espresso:
- Полная поддержка Zen Coding.
- Наиудобнейшая публикация сайтов.
- Очень удобный и минималистичный интерфейс.
- Шустрый редактор с быстрыми подсказками и сворачиванием кода.
- Навигатор.
- Автопубликация.
- Возможность опубликовать папку из контекстного меню (странно, но такой функции до сих пор нет в Coda, там можно выбрать несколько файлов для публикации, но папку — никак).
- Удобная работа с проектами.
Недостатки по сравнению с Coda:
- Меньшие возможности и производительность поиска по проекту.
- Не очень удобные сниппеты. В Coda они появляются во всплывающем окошке, что очень удобно. В Espresso же они ограничены хоть и красивым, но уж слишком компактным жёлтым листочком в панельке Tools.
То, чего нет в Espresso и есть в Coda, но чем я не пользуюсь:
- SVN-клиент. Пользуюсь клиентом Versions, который по идее заслуживает отедьной статьи.
- Terminal. Системного Terminal вполне хватает.
- Books — встроенный браузер по справочникам, успешно заменяется Safari с гуглом.
Как видно, положительных пунктов гораздо больше и не всегда «всё в одном» удобно, сторонние решения зачастую функциональнее и удобнее.
Ну и немного подробнее опишу фишки, которые мне очень понравились:
«Сахарный» Zen Coding
Забавные эти ребята из MacRabbit, плагины для Espresso назвали Sugar. Один «сахар» уже сразу встроен в редактор и называется TEA (расшифровывается как «Text Editor Actions»). Эспрессо, сахар, чай? Что ещё?
Этот плагин добавляет TextMate-овские экшны для HTML, горячие клавиши, и, что самое главное, полную функциональность Zen Coding.
Про Zen Coding не написал только ленивый веб-разработчик, так что не буду в подробностях описывать все возможности, скажу только что вот эту строку: div#header>h1#logo+div#nav>ul>li.n$*5>a можно в одно нажатие клавиш превратить в:
<div id="header"><h1 id="logo"></h1><div id="nav"><ul><li class="n1"><a href=""></a></li><li class="n2"><a href=""></a></li><li class="n3"><a href=""></a></li><li class="n4"><a href=""></a></li><li class="n5"><a href=""></a></li></ul></div></div>
Очень круто, скорость написания HTML возрастает в разы. Если заинтересовались, то вам прямая дорога на страницу проекта за плагинами и документацией.
Публикация в Espresso
Одна из проблем заливки файлов на FTP-сервер в редакторе Coda заключается в том, что файлы на удалённый сервер только заливаются, а переименование или удаление локальных файлов в проекте не отслеживаются и они остаются лежать на удалённом сервере, что приводит к «засорению» сервера ненужными файлами. По всей видимости, эти изменения предлагается делать вручную. Но когда проект большой сложно уследить за всеми изменениями.
В Espresso эта проблема решены добавлением во встроенном FTP-клиенте функций Update, Merge и Mirror.

При нажатии кнопки Review локальные файлы проекта, сравниваются по дате изменения с лежащими на удалённом FTP-сервере. По окончанию процесса сравнения предлагается изменённые файлы и папки залить, скачать, либо удалить. При нажатии кнопки Publish происходит синхронизация. Причём работа с FTP идёт несколькими потоками — разница в скорости закачки по сравнению с Coda видна невооружённым глазом.

Некоторые проекты по различным причинам могут быть не настроены для локального выполнения, поэтому приходится просматривать изменения удалённо. В этом случае очень удобна фича Quick Publish, включаемая для отдельных файлов. Я включаю обычно для style.css. Вношу изменения, нажимаю горячую клавишу сохранения — и в эту же секунду файл уже залит на FTP. В Coda же приходилось после каждого сохранения нажимать на иконку закачки рядом с файлом.

Редактор
Субъективно редактор работает быстрее чем в Coda. В HTML и CSS работает автоотступы, подсказки для кода появляются быстрее чем в Coda. Присутсвует возможность сворачивания кода, которой в Coda нет. В остальном редакторы почти идентичны.

И ещё из мелочей
В проекте сохраняется на каком месте был курсор, сохраняется размер окна, какие панельки были открыты, даже какой текст был выделен! То есть после закрытия и открытия проекта я вижу тоже самое состояние, что было до закрытия. Это аааргх как круто!
Вертикальная область Workspace для меня гораздо удобней горизонтальных вкладок в Coda. В последней проблема заключается в том, что когда открыто много вкладок, то переключение между ними становится затруднительным из-за малого размера вкладки и обрезанного названия файла. В Espresso список рабочих файлов выводится в вертикальной панели Workspaces, которая находится над списком всех файлов проекта. Если количество открытых файлов превышает определённое количество, то появляется прокрутка.

В Espresso можно просто взять и вытащить вкладку в отдельное окно, как в Safari:

Цена
Espresso стоит $79.95 против $99 за Coda.
P.S. Мне кажется, пришло время, когда компания Panic (создатель Coda) должна оправдать своё название — начать паниковать и срочно выпустить Coda 2, а то все перебегут как я.
P.P.S. А ещё скоро обещают TextMate 2. Первый я пробовал (да, это тот самый редактор ради которого многие девелоперы переходят на Mac и куча недоклонов которого была сделано под Windows), и знаю о его возможностях. Не самая удобная работа с проектами, отсуствие встроенного FTP-клиента/паблишера, да тот же Zen Coding поддерживается не полностью. Все нужные мне возможности, которые были в бандлах, уже реализованы в плагине TEA для Espresso. В общем, подружиться не удалось.
а не подскажете, случайно ,как можно избавиться от этих автоотступов? уж очень раздражают в css, который я пишу в строчку, а не в столбик
и ещё, возможно, вы в курсе, есть ли нормальное форматирование html’а ? не автоматическое, а по хоткею ( вставил кусок кода без форматирования, нажал хоткей – добавились табы, выровнялось всё красивенько лесенкой )