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

Как и большинство других современных текстовых редакторов, Atom открывает новые файлы в отдельных вкладках, работая по принципу веб-браузера. Благодаря этому пользователь может легко копировать и перемещать информацию между документами. Открытые вкладки программа запоминает при закрытии, если вы конечно не отключили эту функцию в настройках. По умолчанию редактор использует тему оформления в темных и тусклых тонах. Если вам приходится много работать с текстом (особенно в ночное время), то вы наверняка понимаете преимущества таких цветов интерфейса. Черный фон не "режет" глаза при работе в темноте, а также снижает утомляемость. Обычно подобное оформление графической оболочки используется в "ночных режимах", которыми нынче принято снабжать различные текстовые редакторы и "читалки".

Atom - полностью бесплатная программа. Редактор является превосходным инструментом для разработчиков, копирайтеров да и вообще для всех, кому функционала стандартного "Блокнота" Windows недостаточно.

Что нового в этой версии?

1.32.2 (10.11.2018)

  • исправлена ошибка, при которой выполнение быстрых больших изменений могло привести к неверной подсветке синтаксиса;
  • исправлена ошибка, вызвавшая зависания при внесении некоторых изменений в файлы ERB;
  • исправлена ошибка, при которой ввод «#» ошибочно вставлял фигурные скобки на нескольких языках;
  • добавлены несколько классов подсветки синтаксиса, которые были случайно удалены в 1.32.0.

От переводчика: вчера без официального объявления на Гитхабе были опубликованы несколько десятков репозиториев, содержимое которых свидетельствовало о том, что команда Гитхаба уже давно для программистов и готова представить его публике. Несколькими часами позже заработал и официальный сайт редактора atom.io , на котором сейчас можно запросить инвайт на бета-тестирование, ознакомиться с документацией и плагинами к редактору. Эта статья - перевод двух первых постов из блога проекта Atom, посвящённых концепции и архитектуре редактора.

Представляем Atom

Сегодня мы с радостью готовы запустить публичную бета-версию Atom, нового текстового редактора, который не только лёгок в использовании, но и предоставляет огромную свободу модификаций.

Sublime и TextMate предлагают удобство, но лишь ограниченную расширяемость. С другой стороны, Vim и Emacs обладают огромной гибкостью, но сложны в освоении и требуют изучения специфических скриптовых языков для модификаций.

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

Так как мы стали использовать Atom уже в процессе работы над ним, то, что сперва было лишь экспериментом, превратилось для нас в предмет первой необходимости. Это только начало, и ещё много чего нужно сделать, чтобы полностью воплотить наше видение редактора. Но основная цель достигнута. Снаружи Atom - современный текстовый редактор, который соответствует ожиданиям пользователей. А под капотом - это система, которая так и просит о модификациях и расширении.

В ближайшие недели мы будем рассылать приглашения бета-тестерам, а уже сейчас мы опубликовали больше 80 библиотек и пакетов, которые используются в редакторе. Мы открыли многие API, которые нужны, чтобы писать мощные расширения, но, так как это бета-версия, в них ещё могут произойти изменения на основе обратной связи от вас. Мы будем стараться делать их как можно осторожнее, в то же время активно дорабатывая редактор.

Ждём от вас обратной связи, пакетов и патчей. Сделаем это вместе!

Ядро атома

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

Поэтому Atom не является обычным веб-приложением. Это специализированный вариант браузера Chromium, переделанный так, чтобы быть в первую очередь текстовым редактором, а не веб-браузером. Каждое окно Atom - это отдельная локальная веб-страница.

Коду JavaScript, работающему в каждом окне, доступны все API, которые доступны любому приложению Node.js. Такое гибридное решение создаёт уникальные возможности для разработки.

Так как вся работа происходит локально, нет никакой нужды заботиться о загрузке ресурсов, конкатенации скриптов и асинхронной подгрузке модулей. Если нужен какой-то код, достаточно лишь require в начале файла. Система модулей Node.js без проблем позволяет разбить систему на маленькие хорошо сфокусированные пакеты.

JavaScript вместе с C++
Взаимодействие с нативным кодом тоже очень просто. К примеру, мы написали обёртку вокруг движка регулярных выражений Oniguruma для поддержки совместимости с TextMate. В браузере нам пришлось бы разбираться с NaCl или Esprima . Интеграция с Node сильно упростила задачу.

Кроме API Node.js мы так же используем нативные API диалоговых окон браузера, главного и контекстных меню, управления размерами окна и так далее.

Веб-технологии: всё самое лучшее
Ещё один большой плюс работы над Atom состоял в том, что мы всегда гарантированно работали с последней версией Chromium. Это значит, что нас не беспокоили вопросы кросс-браузерной совместимости. Мы могли использовать все новшества веб-технологий уже сегодня.

Например, вёрстка рабочего пространства и панелей редактора использует flexbox . Это ещё не устоявшийся стандарт, но несмотря на то, что он менялся во время работы, мы были счастливы, что уже можем с ним работать.

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

Атом разработала команда разработчиков GitHub, Свой продукт они позиционируют, как текстовый редактор 21 века. К чему изначально стремились разработчики и почему вообще у них возникло желание создать атом, ведь на рынке полно текстовых редакторов? По словам разработчиков – на рынке много подобных программ, например, Sublime Text 3, Brackets и др., но у них есть ряд недостатков. У одних текстовых редакторов богатые возможности в плане расширения функционала, настройки, но сложно это все дело изучить, делать не подкованному пользователю без особых знаний, а другие наоборот легко усвояемы, но мало функциональны. Так вот atom разработали для того, чтобы убрать эти грани, и объединить в себе все плюсы конкурентов!

Первый запуск

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


Интерфейс

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

Подсветка кода вообще меня лично влюбила в тему, которая стоит по умолчанию после установки атома. Согласись, она просто потрясная!


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


Меню настроек текстового редактора atom

Настройки текстового редактора atom можно открыть через раздел меню «view» пункт «settings» , либо сочетанием горячих клавиш — Ctrl+ ,

Настроек у программы великое множество, все настройки разбиты по смысловым категориям (тоже удобно).
Core – Настройки ядра программы Edit – Настройки редактирования текста и его отображения в окне редактора System – настройки отображения атома в контекстном меню операционной системы Keybindings – Список и описание всех горячих клавиш текстового редактора atom Packages – Список всех установленных в атом плагинов и их настройки с описанием, а также кнопкой включения/отключения любого плагина (даже системного). Themes – Раздел со списком установленных тем и их настройкой. Updates – Раздел уведомлений о новых версиях плагинов, тем и самого текстового редактора атом с кнопкой обновления каждого. Install – Раздел дополнительных плагинов и тем для атома с описанием каждого, быстрым фильтром и кнопкой установки.

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

Горячие клавиши atom

Отдельный раздел показывает все горячие клавиши программы и описание, за что они отвечают. Каждую горячую клавишу можно переписать на другие сочетания клавиш, удобные лично для тебя. Для этого нужно нажать на пиктограмму дискеты, чтобы скопировать код настройки этой функции и затем открыть файл настроек горячих клавиш по ссылке «your keymap file», затем в нем вставить скопированный код и заменить записанные сочетание клавиш на свои и сохранить файл, после чего вы сразу можете использовать указанные горячие клавиши 🙂


Плагины для atom


Подсказки горячих клавиш

Прикольная особенность атома – во всем есть польза 🙂 При пустом окне редактора в нем отображается текстовый слайдер с подсказками часто используемых горячих клавиш программы.


Закладки

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

Закладки в atom находятся в меню «Edit» пункт «Bookmark» . Поставить/снять закладку на участке кода можно так же сочетанием клавиш Alt+Ctrl+F2 А перемещать по закладкам: Вперед – F2 ; Назад – Shift+F2 Посмотреть список всех закладок в документе можно сочетанием клавиш – Ctrl+F2


Git и GitHub в Atom

Очень удобной особенностью атома является еще и то, что он имеет панель для работы с Git контролем версий, что позволяет вести контроль версий прямо из текстового редактора atom без необходимости лезть в консоль. Ну и естественно разработчики атома включили поддержку связки репозитория на GitHub с редактором атом. (Более подробно о работе с Git в atom мы поговорим в следующих статьях)


В Атоме так же есть поддержка сниппетов (заготовленные куски кода). При наборе начальных букв сниппета появляется окошко со списком уже заготовленных в программе сниппетов (для данного типа доккумента), которые соответствуют введенным буквам. Сниппеты разворачиваются по нажатию кнопки Tab .
Так же мы можем создавать свои сниппеты (об этом в следующих статьях данной серии). Меню сниппетов находится в разделе основного меню «Packages» пункт «Snippets» и если мы здесь выберим пункт «available» , то нам откроется окно со списком всех доступных сниппетов для данного типа кода.


Командная панель в Atom

Все доступные функции и команды программы доступны в командной панели, которую можно открыть в меню «Packages» пункт «Command Palette» , либо нажатием сочетания горячих клавиш – Ctrl+Shift+P

По мимо того, что в командной панели перечислены все доступные функции, у многих функций, на которые назначены горячие клавиши, написано сочетание горячих клавиш, которые запускают данную функцию\команду.

Мы можем отфильтровать список путем ввода названия команды в поле быстрого фильтра.


По мимо вкладок мы можем разделить окно редактора на панели. Меню панелей находится в разделе основного меню «View» вкладка «Panes» . Либо из контекстного меню в окне редактора. Если выбрать команду «Split – Up, Down, Left, Right» , то в окне редактора добавится еще одно окно сверху, снизу, слева, справа, соответственно выбранной команде. В свою очередь любую панель так же можно поделить на бесконечное количество дополнительных панелей. Размеры панелей можно менять, потянув за границу нужной панели.


Вот в принципе и все, что хотелось сказать в первом уроке из серии уроков по данному текстовому редактору, под названием Atom. Кстати сказать – Atom для меня сейчас является основным текстовым редактором, в котором я пишу программный код.

Надеюсь статья для тебя полезна, жду твой комментарий по данному редактору напиши, что тебе в нем нравится или наоборот не нравится и какие плагины для атома ты используешь. Буду рад по дискутировать с тобой на данную тему. А на этом не прощаемся – увидимся в следующей статье, которая будет посвящена разбору всех элементов интерфейса атома и его настройке! Пока!

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

Atom editor - среда разработки с открытым исходным кодом от создателей GitHub на базе фреймворка Electron , на котором пишут кроссплатформенные десктопные приложения, используя веб-технологии.

Установка редактора

Color-picker

Из названия понятно, что плагин позволяет удобно выбирать цвета из палитры в различных форматах, включая форматы для выбора цвета в Sass и LESS. Чтобы вызвать палитру нажимаем Ctr + alt + c в Linux и Windows, Cmd + Shift + c для Mac. Скачать

Git projects

Ctr + Alt + O - выведет список всех локальных репозиториев в операционной системе. Если вы часто работаете с git, думаю, этот плагин будет очень удобен. После установки, в настройках плагина нужно прописать путь к папке со всеми локальными репозиториями.

/path/to/repo1; /path/to/repo2; /path/to/repo3;

Merge conflicts

Если вы работаете в команде, вероятно вы используйте систему контроля версий, и наверняка сталкивались с конфликтами при слиянии веток. Данный плагин делает процесс разрешения конфликтов очень комфортным и понятным. Когда вы открываете Atom, этот плагин анализирует репозиторий на наличии конфликтов, и если он их находит, то выводит внизу редактора окошко с перечнем файлов с конфликтами. Скачать

Minimap

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

Atom-alignment package

Плагин позволяет, выделив участок кода, отформатировать его в более приличный вид. Например, у нас есть такой код:

Нажимаем Ctr + Alt + A и код форматируется в более красивый вид.

Var1 = "adas"; var123456 = "adadasd"; a = 1; bacd = "Very long striiing"

Linter

Проверяет синтаксис кода налету и выдает уведомление об ошибках. Этот плагин является основным пакетом и к нему доустанавливаются остальные "линтеры-аддоны" для каждого языка программирования (полный список). Это сделано для прекращения «войны между плагинами» (The idea is to stop the linter plugins war, by providing a top level API for linters to parse and display errors in the Atom editor ). Скачать

Multi-cursor

Из названия понятно, что этот плагин делает. В Linux нажимаем Alt + Shift + Up, чтобы размножить курсоры наверх или Alt + Shift + Down, чтобы размножить их вниз. Скачать .Чтобы выйти из режима мультиредактирования, нажмите Esc.

File-icons

Показывает иконку рядом с именем файла. Скачать