Статьи

Check Atom, новый редактор GitHub для разработчиков

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

Что ж, GitHub надеется встряхнуть с помощью бета-версии нового редактора под названием Atom . Я получил в свои руки бета-версию и хотел дать вам краткое изложение того, что он предлагает. Следует отметить, что документация немного скудна, поэтому было сложно определить, что делает каждая функция, но я коснусь важных аспектов ниже.

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

Следующее, что нужно упомянуть, это то, что этот редактор был создан полностью с использованием веб-технологий. Например, базовая архитектура опирается на Chromium (да, это основа для Google Chrome), превращая каждое окно в локально отображаемую веб-страницу. Почему они просто не создали его как браузерную IDE, такую ​​как Cloud9IDE? Поскольку, несмотря на большой прогресс в файловых API для браузера, все еще существуют ограничения в отношении доступа к файловой системе, поэтому создание его в качестве настольного приложения имело большой смысл.

атом-разработчик-инструменты

Да, это Chromium Developer Tools, работающий в редакторе, и я выделяю элемент им. Довольно странно иметь возможность изменять код в моем редакторе с помощью Chrome DevTools, но это говорит о том, что основной движок основан на сети.

Они также использовали Node.js для обеспечения доступа к файловой системе и обеспечения огромной гибкости и расширяемости в своей системе упаковки, что в основном делает Atom легко настраиваемым и дает ему невероятный доступ к тонне npms.

В конечном счете, это утверждение лучше всего объясняет, почему они использовали веб-технологии:

Поскольку вся индустрия развивает веб-технологии, мы уверены, что мы создаем Atom на благодатной почве. Родные технологии пользовательского интерфейса приходят и уходят, но Интернет — это стандарт, который с каждым годом становится все более способным и повсеместным. Мы рады копнуть глубже в его инструментарий.

Когда вы впервые заглядываете в Atom, он выглядит поразительно похожим на Sublime, что упрощает его визуальное восприятие.

атом-полный

Одним из первых, что я хотел проверить, была языковая поддержка. Хотя я в основном работаю в JavaScript, у меня есть жгучее желание попасть в Ruby on Rails, чтобы обеспечить широкую поддержку языков. Он поддерживает не только синтаксис Ruby, но и инфраструктуру Rails вместе с:

  • питон
  • CoffeeScript
  • Идти
  • пререкаться
  • YAML

и куча других.

атом-языки

Широта охвата очень обширна и наравне с любым редактором, который я видел.

Но это больше, чем просто поддержка языков. Atom также поддерживает синтаксические ярлыки (так называемые фрагменты), которые позволяют быстро создавать блоки кода с минимальным набором текста.

атом-JS

Например, если я ife после которого появится вкладка , я получу следующее:

1
2
3
4
5
if (true) {
 
} else {
 
}

И простой ввод в нижнем регистре «f», за которым следует вкладка, дает мне скелет для анонимной функции:

1
2
3
function () {
 
}

Такие продукты, как TextExpander и другие редакторы, делали это в течение некоторого времени, так что приятно видеть GitHub, включающий его в первый день.

Одна из вещей, которая все еще раздражает меня в Sublime (даже v3), заключается в том, что многие параметры конфигурации необходимо настроить вручную. В Atom похоже, что все настройки доступны и настраиваются через панель настроек, что дает вам возможность обновлять такие вещи, как:

  • Семейство и размер шрифта
  • Номера строк
  • Темы
  • пакеты

А также легко отключить пакеты, которые вы установили.

Атом-настройка

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

атом-тема

Я был счастлив видеть там тему «Монокай», так как это мой личный фаворит.

Теперь, помните, как я упоминал ранее, что у вас был доступ к инструментам разработчика и что окна редактора Atom в основном представляют собой веб-страницы? Ну, это означает, что у вас есть масса гибкости в настройке внешнего вида вещей, потому что вы можете проверять DOM-узлы и видеть, какие стили были применены к ним. Atom позволяет вам определять свои собственные стили в таблице стилей LESS, которая называется styles.less , предоставляя вам действительно styles.less контроль над видом определенных типов элементов. Перейти к таблице стилей так же просто, как перейти в Atom> Открыть таблицу стилей и внести изменения в соответствующий раздел.

1
2
3
4
5
.editor {
 
  .meta.tag.sgml.doctype.html { font-size: 26px;
 
}

В этом случае я обновил класс .editor , добавив классы, которые определяют, как DOCTYPE файла будет выглядеть внутри редактора. Я сделал размер шрифта 26px преднамеренно большим. На следующем рисунке показано, как это обновление повлияло на отображение моего HTML-кода:

атом меньше,

Как вы можете видеть, вы можете по- настоящему углубиться в Atom и настроить его так, как вам хочется, поскольку в основном это HTML и DOM.

Помимо возможности установки новых тем, Atom также предоставляет встроенный менеджер пакетов, который позволяет расширить функциональные возможности редактора. Это аналог Sublime Package Control, за исключением того, что он уже встроен в сам редактор, а не вынужден устанавливать отдельный скрипт для его получения.

Атом-пакеты

Установить пакет так же просто, как нажать кнопку « Установить» . Редактор предоставляет список «рекомендуемых» пакетов вместе с функцией поиска, которая извлекается из основного реестра пакетов.

Если вы хотите сделать это через командную строку, Atom предоставляет CLI для него под названием apm (Atom Package Manager), который позволяет вам установить любой пакет с помощью следующей команды:

1
apm install <package name>

Поэтому установка пакета автозаполнения будет выглядеть так:

атом-APM-установка

В настоящее время количество доступных пакетов невелико, но этого следует ожидать на данном этапе.

Атом-пакеты-реестр

Вы сможете найти отличные пакеты для таких вещей, как:

И многое другое Я не могу себе представить, что пройдет много времени, прежде чем GitHub вербует всех создателей пакета Sublime для переноса своей работы. Фактически, уже есть документация, показывающая, как вы можете конвертировать ваш TextMate Bundle в Atom . Поскольку многие комплекты TextMate совместимы с Sublime, кажется вполне вероятным, что некоторые пакеты Sublime могут быть преобразованы, но не удерживайте меня на этом, поскольку я сам не проверял их.

Это также хорошая возможность для участников присоединиться и предложить новые пакеты . В то время как у Atom есть большинство основ, ему не хватает некоторых важных, таких как линтеры и подсветки синтаксиса. Это пустота, которую нужно заполнить, и я могу представить, что это происходит в короткие сроки.

Привязки клавиш также настраиваются с помощью локального ~/.atom/keymap.cson . Вы можете открыть этот файл вручную или перейдя в пункт меню Atom> Open Your Keymap . Открытие файла покажет вам несколько примеров того, как редактировать привязки клавиш.

Единственная привязка клавиш, которую вам нужно запомнить, — это Command-Shift-P , которая открывает командную палитру и отображает все возможные привязки клавиш со связанной функциональностью.

атомно-командная палитра

Руководство « Приступая к работе» предлагает вам некоторые базовые рекомендации по использованию Atom, и его стоит прочитать. Но просто знайте, что сайт проекта сейчас немного скуден по документации, поэтому некоторые возможности редактора вам придется изучить методом проб и ошибок.

Многие из вас, вероятно, спрашивают, как оно складывается с вашим любимым редактором. Поскольку Sublime — это мой личный выбор, я могу сказать, что Atom — довольно приличный бета-продукт, но я не сразу переключусь на него. Встроенная функциональность Sublime плюс обширная экосистема пакетов делают его очень зрелым редактором для работы.

Сказав это, Atom поддерживается GitHub, и это имеет массу веса. Там есть большой авторитет, и я уверен, что мы увидим, как будут работать новые пакеты, особенно с учетом расширяемости, которую Atom предоставляет через Chromium и Node.

На данный момент GitHub предлагает бесплатный Atom во время бета-тестирования, предоставляя разработчикам возможность поработать с ним и испачкать руки. Если они смогут поддерживать конкурентоспособные цены и быстро создавать экосистему пакетов, я думаю, что Atom станет моим новым редактором.