Браузер Atom, что это такое

Обновлено: 03.07.2024

Хорошая идея для проекта, но, пожалуйста, пересмотрите предположение "В целом справедливо предположить, что пользователь находится в сети во время использования приложения".

Это предположение не всегда верно, и даже если оно верно, Интернет медленный и ненадежный, и, в зависимости от этого, веб-приложения становятся медленными и ненадежными.

Я думаю, что вопрос здесь не в том, что все находятся в автономном режиме. Реальный вопрос, который мы должны задать: достаточно ли пользователей, имеющих доступ к Интернету, пока они кодируют. Если да, то такой проект, безусловно, будет полезен.

Хотя это только мое предположение, я искренне считаю, что пользователей с постоянным доступом в Интернет должно быть больше, чем всех пользователей emacs (без обид, я сам пользуюсь emacs, я просто считаю, что мы меньшинство).

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

Если ваш рабочий каталог находится на удаленной рабочей станции, вы мало что можете сделать в автономном режиме. Любые команды, которые вы выполняете (для запуска тестов, запуска вашего приложения, выполнения синхронизации), в любом случае будут выполняться через ssh.

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

ИМХО, атом в браузере идеально подойдет для онлайн-школы программирования.

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

Я не могу говорить с Android, но я не понимаю, как вы собираетесь поддерживать локальный рабочий процесс на Chromebook или iOS. Вы будете бороться с окружающей средой на каждом шагу. Таким образом, эти пользователи будут работать по сети. Пересечение не может установить атом / работает локально должно быть невероятно маленьким, если оно вообще существует.

Автору следует просто перефразировать это следующим образом: "Мы предполагаем, что вы будете в сети, в противном случае поищите в другом месте".

Это остановит очевидные дебаты, которые всегда возникают.

Я использую Atom, когда он отключен от моего Macbook Air. Прекрасно работает. Не так быстро, как Sublime, но для меня достаточно быстро.

А если серьезно, было бы здорово увидеть атом в Интернете, вроде редактора cloud9.

Большой поклонник c9sdk[0]. У меня нет больших надежд, потому что в последний раз, когда я пробовал атом на своем i7, он работал как собака.

Вообще-то так и зародился VSCode :). Предполагалось, что это будет веб-IDE, затем появились Atom и Electron, а Monaco был помещен в оболочку Electron, и это стало VSCode.

Да, и Монако жив в VSTS (Team Services) и интегрированной среде разработки веб-приложений Azure. :) Что ж, VSO (VS Online) использовалась MS внутри компании еще до того, как появилась идея VSCode.

Это элемент управления текстовым редактором (используемый, например, в Visual Studio Team Services). Редактор (включая систему плагинов, IO, . ) на самом деле недоступен в виде веб-страницы.

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

Чего он не содержит по сравнению с VsCode, так это нескольких панелей, управления файлами и т. д.

Конечно, вы можете создать управление файлами поверх базового компонента Monaco. Сам Monaco предоставляет только API для установки или извлечения содержимого виджета редактора monaco. Затем вы можете создать какой-нибудь файловый менеджер поверх него, который загружает содержимое файла откуда угодно и помещает его в экземпляр редактора.

Что-то подобное отлично подходит для следующего варианта использования (1) у вас есть Chromebook и (2) ваш рабочий каталог находится на удаленной рабочей станции.

Вы всегда можете подключиться по ssh, использовать tmux или экран GNU, а также использовать редактор на базе терминала emacs или vi. Но если вы хотите использовать другой редактор, вам не повезло.

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

Веб-редактор должен быть менее болтливым. Настоящий автономный доступ не имеет значения для этого варианта использования; ssh все равно не сработает.

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

Раньше мы использовали WebDAV[0] для удаленного доступа к FS. У этого были некоторые проблемы с блокировкой файлов (когда несколько пользователей обращались к одному и тому же каталогу) и кросс-платформенной совместимостью (в основном между разными версиями Windows и/или Office), но в большинстве случаев это просто работало.

В любом случае, есть и другие решения с открытым исходным кодом, такие как sshfs[1][2], которые позволяют обойти эти проблемы (пока только один пользователь имеет доступ к удаленной копии).

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

Удаленный запуск языковых служб в медленной сети может оказаться нецелесообразным, поскольку загрузка всех этих файлов (для построения поискового индекса) требует большой пропускной способности.

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

Вот почему я люблю режим бродяги в Emacs. Запустите Emacs на моем ноутбуке; получить доступ к любому файлу, к которому я могу подключиться по ssh. Однако имейте в виду, что если у вас есть сервер X11, работающий на вашем ноутбуке, вы можете запустить любое клиентское приложение X11 (скажем, ваш любимый редактор) на удаленной машине и просто отобразить его на своем ноутбуке.

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

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

OTOH, это очень полезно для запуска ресурсоемких программ на моем относительно мощном VPS при отображении их на моем Chromebook с недостаточной мощностью.

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

Существуют ли такие среды? Единственная возможная причина такой настройки, о которой я могу думать, заключается в том, что для нее требуется среда, недоступная на рабочем столе и не может быть виртуализирована. Если бы какой-нибудь интернет-магазин попросил меня работать в окне браузера с удаленными файлами, я бы в основном использовал причудливый редактор, чтобы открыть резюме.md.

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

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

Вау, это хорошо. Я предполагаю, что поддержку выделения можно было бы улучшить — я открыл файл Haskell, и это был просто текст.

Одним замечательным преимуществом для меня является тот факт, что это хорошо сочетается с Vimperator.

Что ж, теперь пришло время портировать Atom-in-orbit на что-то вроде Electron, чтобы он работал в автономном режиме и не требовал веб-браузера.

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

Тем не менее, единственное место, где я видел, где это было полезно, — это Pebble из-за сложного характера зависимостей + версий компилятора. Однако не похоже, что вариант использования здесь тот же.

Это было очень приятно, и я мог импортировать сторонние библиотеки с помощью перетаскивания и получать обновления несколькими щелчками мыши

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

Для вдохновения посмотрите на sandstorm.io

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

Зачем еще кому-то создавать редактор на JavaScript?

Простая кроссплатформенная разработка на языке и платформе, с которыми знакомо огромное количество разработчиков.

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

Я не думаю, что речь идет об обязательном использовании JavaScript, поскольку речь идет об использовании Chromium / Electron для простого создания единообразного кроссплатформенного взаимодействия.

Мне кажется, что с плагинами будет очень сложно разобраться. Как они собираются разрешить динамическую загрузку javascript во время выполнения и обеспечить какую-либо безопасность?

К сожалению, мне не удалось найти оригинал документа, но мы изучали его на моих занятиях по безопасности. Google разрешает дополнительные расширения в документах Google, которым нельзя доверять. Они делают это, преобразовывая небезопасное поведение в исходном javascript в безопасное поведение, содержащееся в плагине, который фактически работает. Эту технологию можно адаптировать и для этого проекта.

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

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

Это потребовало бы повторной реализации подмножества git в javascript, но оттуда вы могли бы подключить его к BrowserFS в качестве резервного хранилища, а затем вы могли бы работать непосредственно из репозитория git (а не только из " благословенный" бэкэнд git, но из любого бэкэнда git, который предоставляет "git-over-https"). Загрузка файлов оттуда, сохранение их локально в indexeddb или что-то в этом роде, а затем их коммит обратно в репозиторий, когда они будут готовы.

Я подумал об этом всего минуту или около того, поэтому, пожалуйста, сообщите мне, если я что-то упустил.

Потратив немного больше времени, похоже, что js-реализация достаточного количества git для моего использования уже существует [0], и, похоже, есть как минимум еще 3 других. Но в примечаниях он упоминает, что CORS не включен и, скорее всего, не будет включен для github, что может быть проблемой. Однако на самом деле это не техническая проблема, а скорее «политическая». Если что-то подобное станет популярным и, возможно, другие размещенные решения git (например, GitLab) решат разрешить вам включать CORS для каждой учетной записи, репозитория или чего-то еще, это может зажечь огонь под задницей GitHub, чтобы позволить это.

Целью этого проекта является создание версии Atom, работающей в Chrome, из исходного кода Atom, максимально приближенной к настольной версии.

  1. Зачем кому-то нужна IDE для браузера, а не настольная?
  2. Предполагая, что мы убеждены, что нам нужна IDE в браузере, почему мы должны предпочесть Atom существующим предложениям?

Многие преимущества веб-среды IDE относятся не только к средам разработки, но и к веб-приложениям в целом:

  • Нулевая настройка/барьер для входа.
  • Все хранится в облаке, поэтому мы можем получить к нему доступ из любого места, автоматически создается резервная копия и т. д.
  • Он по своей сути кроссплатформенный.
  • В целом справедливо предположить, что пользователь находится в сети во время использования приложения.
  • В отличие от нативных приложений, пользователям не нужно "загружать" все веб-приложение перед его использованием. Веб-приложения поддаются добавочным обновлениям за счет разумного использования кеша браузера.
  • Веб-приложения можно эффективно использовать на компьютерах с ограниченными ресурсами, поскольку большая часть «тяжелой работы» выполняется на сервере.
  • Хранение большей части информации на сервере в центре обработки данных, а не распространение ее среди множества клиентов в дикой природе, как правило, упрощает ее защиту.
  • Встроенная поддержка глубоких ссылок в приложении.
  • Упрощенный процесс выпуска: все пользователи всегда используют одну и ту же версию, которая является самой последней и лучшей.

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

Что касается вопроса "Почему Atom?", то вот несколько причин:

  • Расширяемость. Atom создал богатую экосистему разработчиков с тысячами пакетов.
  • Многие из нас уже используют его! Если вы являетесь опытным пользователем Atom, но хотите использовать его в качестве веб-приложения по причинам, перечисленным выше, было бы неплохо использовать тот же инструмент в Интернете, что и на рабочем столе, а не изучать еще один редактор. ? Разве вы не хотите взять с собой все свои сочетания клавиш, темы и другие настройки?
  • Разработан с меньшим количеством ограничений. Когда вы проектируете что-то в виде веб-приложения, естественно, что ограничения браузера ограничивают ваше мышление. К счастью, Atom этим не страдает. Например, Atom реализует определенные библиотеки на C вместо JavaScript, где это имеет смысл, что не является чем-то, что может сделать обычный веб-разработчик. Приверженность настольным компьютерам также отражена в сообществе Atom, поскольку они предоставили множество пакетов для поддержки разработки программного обеспечения для мобильных и настольных компьютеров, что вряд ли будет приоритетом для тех, кто поддерживает IDE только для Интернета.

Поддержка удаленной разработки в Nuclide — убедительный пример сочетания лучших функций настольных и веб-сред IDE. Все сервисы в Nuclide написаны с использованием инфраструктуры сервисов Nuclide, которая гарантирует, что функции, предназначенные для локальной разработки, будут автоматически работать так же, как и при использовании в рамках удаленной разработки в Nuclide. Например, рассмотрите языковой сервис Flow в Nuclide, который обеспечивает автозаполнение, щелчок по символу, диагностику и другие языковые функции при редактировании кода JavaScript, типизированного Flow. Служба может предположить, что она работает локально по отношению к коду JavaScript, который она обслуживает, в то время как Nuclide позаботится о передаче запросов и ответов в локальный экземпляр Nuclide пользователя. (По сути, локальная разработка — это всего лишь особый случай, когда Nuclide и сервис работают на одной машине.) Таким образом, из единой кодовой базы Nuclide может одновременно поддерживать автономную локальную разработку на мощном ноутбуке в дополнение к «тонкому компьютеру». клиент», которую пользователи ожидают от веб-приложения при редактировании удаленных файлов.

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

Этот проект предназначен для запуска Atom в браузере. Поскольку Atom [в основном] построен с использованием веб-технологий, большая часть его кода может быть запущена в браузере дословно. Однако есть ряд «свобод», которыми пользуется Atom на рабочем столе, которых нет у Atom в браузере:

  • Синхронный доступ к файловой системе через модуль fs.
  • Все ресурсы доступны локально и считаются недорогими.
  • Встроенные зависимости.
  • Неограниченный доступ в Интернет.
  • Доступ к собственным API.

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

Синхронный доступ к файловой системе

Первоначальные эксперименты показали, что BrowserFS является мощной прокладкой для fs в браузере.

Дешевый доступ к ресурсам

Основной задачей этого проекта является упаковка. Первоначально мы использовали браузер для создания прототипа, но оно создает веб-приложение, которое должно загрузить 30 МБ JavaScript, прежде чем оно запустит какой-либо код, поэтому очевидно, что нам нужно более сложное решение.

Зависимости, реализованные в собственном коде

Планируется использовать Emscripten, но это еще не проверено.

Неограниченный доступ в Интернет

При разработке веб-приложения можно обеспечить настоящий «неограниченный» доступ к Интернету через открытое перенаправление на вашем сервере, но это не лучший выбор с точки зрения безопасности. На самом деле вашей среде IDE нужен не "неограниченный" доступ, а преднамеренный серверный API, который при необходимости передает запросы через прокси.

Доступ к собственным API

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

Создание веб-приложения

Во-первых, вы должны создать файл config.local.json в корне вашего проекта с некоторой информацией о конфигурации. В частности, ему требуется расположение исходной проверки Atom, которая была собрана в ревизии, указанной в файле config.json.

Вы можете собрать локальную демонстрацию, запустив (на моем компьютере с Linux это занимает 10 секунд):



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

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

Ассистент активируется голосом или с помощью значка в верхней панели браузера. Пользователь может обратиться к Марусе по имени или написать ей сообщение. Голосовой помощник также доступен в приложении Atom для Android.

Ассистент Маруся говорит голосом актрисы Елены Соловьевой. Она озвучила искусственный интеллект роботов смерти в сериале "Любовь и любовь" и Тринити из фильма "Матрица".

Выпуск мобильной версии Atom

В браузере можно авторизоваться через единый аккаунт VK Connect, который связывает проекты экосистемы Mail.ru Group. Через встроенные мини-приложения платформы Mini Apps VK можно вызывать такси, заказывать еду, совершать покупки на AliExpress и другое. При работе с мини-приложениями не нужно устанавливать их на устройство и повторно проходить авторизацию — единый аккаунт VK Connect автоматически «подтягивает» данные.


Возможно сохранить сайт для доступа к нему офлайн — содержимое страниц будет доступно, даже если у пользователя нет подключения к Интернету.

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

Еще одна замечательная функция — автоматическая синхронизация данных (вкладок, истории просмотров страниц, паролей и настроек) при авторизации в Atom на телефоне и на компьютере. Для синхронизации достаточно зайти в аккаунт ВКонтакте. [1]

Настройка для пользователей Одноклассников

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

Atom

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

OK Live

В браузере также реализована возможность включения видео и трансляций из ОК в фоновом режиме. Видео можно разместить внизу экрана и продолжить просмотр, параллельно открывая другие окна и вкладки. Благодаря этому пользователи смогут смотреть спортивные трансляции, популярные шоу, новости СМИ и любой другой контент, не отрываясь от интернет-серфинга.

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

Пример фона:

Пример фона

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

Инструмент для управления временем в сети

Atom

Этот инструмент помогает пользователям планировать время. С согласия пользователя браузер анализирует его онлайн-активность. Учитывается общая продолжительность сеанса и время, проведенное на разных страницах.

Полученные данные визуализируются в удобном формате инфографики. С помощью диаграмм легко оценить, сколько часов в день пользователь проводит в сети и на каких сайтах он задерживается дольше всего. В ближайшее время в браузере появятся и другие аналитические инструменты. Персональную статистику можно сравнить со средними обезличенными показателями всех пользователей сервиса. Также в браузере появится возможность задавать личные цели, синхронизировать график с заметками и показывать дополнительные технические подробности, такие как объем загружаемой информации, количество затраченного трафика, средняя скорость соединения и т.д.< /p>

Функция активируется через настройки браузера.Там же можно подключить напоминания об отдыхе и задать их периодичность.

Внедрение технологии Kaspersky Online File Reputation

Технология Kaspersky Online File Reputation предоставляет информацию о репутации файла — является ли он вредоносным или потенциально опасным. Информация поступает к пользователю, который принимает решение, удалять документ или нет.

Браузер Atom запущен в феврале 2019 г. с акцентом на безопасность. Благодаря специальной панели пользователь может быстро проверить, какие важные разрешения выданы конкретному сайту, и изменить эти настройки для конкретного ресурса или для всего Интернета. Также большое внимание уделяется настройкам приватности. Так, например, пользователи могут запретить доступ к камере или микрофону, заблокировать раздражающую рекламу или уведомления сайтов, а для отдельных сайтов можно выбрать настройку «всегда открывать в режиме инкогнито» или полностью запретить запись истории для браузера.

Технология Kaspersky Online File Reputation предоставляет информацию о репутации файлов, загруженных из Интернета. Онлайн-сервис моментально распознает, безопасна программа или нет, используя глобальную систему сбора данных об угрозах, большую базу динамических белых списков и обширный экспертный опыт «Лаборатории Касперского» в области легитимного ПО.

Анонс запуска браузера

Atom

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

Особое внимание было уделено приватности: создатели браузера позаботились о том, чтобы вкладку в моде можно было открыть в один клик прямо в главном окне браузера. Это позволит сравнить, например, цены на авиабилеты или отели. Для самых секретных сайтов можно выбрать настройку «всегда открывать в режиме инкогнито», а в крайнем случае — вообще запретить запись истории для всего браузера.

Кроме того, Mail.Ru Group запускает публичную программу Bug Bounty (поиск уязвимостей) браузера. Программа открыта на международном ресурсе HackerOne.com — платформе, объединяющей «белых хакеров» со всего мира.

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

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

Atom (Википедия) — это многоплатформенный редактор кода, основанный на Chromium. Помимо черепах, Atom имеет растущее сообщество и базу устанавливаемых плагинов и тем.

Вы можете загрузить и установить по ссылкам с основного сайта Atom. Если вы хотите проверить код и внести свой вклад, посетите страницу разработчика.

Содержание

Рабочий процесс

Типичный рабочий процесс Atom состоит из следующего.

  1. Используйте Ctrl + Shift + R, чтобы найти символ в файле .tags, или Ctrl + P, чтобы найти файл по имени.
  2. Переключайтесь между заголовком и источником, используя Alt-O ( Ctrl-Opt-S в OSX).
  3. Во время редактирования пакет you-complete-me помогает с автоматическим завершением C++ и показывает ошибки компиляции через пакет lint.
  4. Нажмите Ctrl + Shift + P и введите формат, чтобы отформатировать код.
  5. Выберите цель для сборки, нажав F7 и введя, например, base_unittests .
  6. Выполните повторную сборку, нажав F9 .

Пакеты Atom

Чтобы настроить этот рабочий процесс, установите пакеты Atom для разработки Chrome.

Автозаполнение

Установите механизм автодополнения C++.

На Mac замените последнюю команду выше следующей.

Линт JavaScript

Установите линтер JavaScript для тестов макета Blink.

Настройте линтер JavaScript для использования стиля Google по умолчанию, заменив содержимое ~/.eslintrc следующим.

Конфигурация

Настройте Atom, заменив содержимое ~/.atom/config.cson следующим. Заменить

с реальными полными путями к вашему домашнему каталогу и chrome checkout. Например, это могут быть /Users/bob и /Users/bob/chrome/src .

Поиск символов

Нечеткий поиск файлов Atom медленно индексирует все файлы в Chrome. Если вы работаете над проектом, который часто использует foo или bar в именах файлов, вы можете создать небольшой файл .tags для эффективного поиска символов в этих файлах. Обязательно используйте «Exuberant Ctags».

Не создавайте файл ctags для полного репозитория Chrome, так как это приведет к тому, что файл тега размером около 9 ГБ будет непригоден для использования в Atom.

Читайте также: