GitHub совместно (https://nuclide.io/blog/2017/09/12/Introducing-Atom-IDE-UI/) с Facebook представил (http://blog.atom.io/2017/09/12/announcing-atom-ide.html) проект Atom IDE, в рамках которого подготовлена интегрированная среда разработки, оформленная в виде серии дополнений к ранее развиваемому текстовому редактору для программистов Atom (https://atom.io/). Код проекта распространяется (https://github.com/atom/atom) под лицензией MIT.На текущем этапе развития Atom IDE поддерживает автодополнение языковых конструкций с учётом контекста, интерактивные подсказки, выявление синтаксических ошибок, наглядное представление сведений об ошибках и предупреждениях, форматирование кода, средства для навигации по коду, такие как древовидный обзор структуры (outline view), переход на определения и поиск ссылок. Поддерживается разработка на языках TypeScript, Flow, JavaScript, Java, C# и PHP, для которых предоставляются средства глубокого синтаксического анализа кода создаваемых проектов. В ближайшее время ожидается поддержка языков Rust (https://github.com/aergonaut/languageserver-rust), Go и Python.
Компоненты для поддержки языков отделены и оформлены в виде отдельных серверных обработчиков, взаимодействие с которыми осуществляется по протоколу LSP (https://www.opennet.ru/opennews/art.shtml?num=44682) (Language Server Protocol), который уже поддерживается в продуктах компаний Microsoft, Eclipse, Sourcegraph, Palantir, Red Hat и Facebook. Вся необходимая для работы IDE функциональность присутствует в бета-выпуске редактора Atom 1.21, для превращения которого в IDE достаточно установить пакет atom-ide-ui (https://atom.io/packages/atom-ide-ui), а также наборы (https://github.com/atom/atom-languageclient/wiki/List-of-Ato...) для поддержки необходимых языков программирования, например, ide-typescript (https://atom.io/packages/ide-typescript) (для TypeScript и JavaScript), ide-php (https://atom.io/packages/ide-php) или ide-java (https://atom.io/packages/ide-java).
Напомним, что редактор Atom построен (https://www.opennet.ru/opennews/art.shtml?num=42501) на базе платформы Electron (https://github.com/atom/electron), основанной на кодовой базе Chromium и Node.js, и позволяющей создавать самодостаточные приложения на основе браузерных технологий. Редактор предоставляет средства кросс-платформенного редактирования кода, включает встроенный пакетный менеджер, интерфейс навигации по файловой системе и средства для одновременной совместной работы с кодом. Функциональность редактора формируется за счёт предоставления набора пакетов-дополнений, для установки которых предлагается встроенный пакетный менеджер "apm (https://github.com/atom/apm)", похожий на "npm" от проекта Node.js. Через дополнения реализованы все функции, выходящие за рамки базового редактирования кода, в том числе панели, подсветка синтаксиса, оформление интерфейса, формы работы с файлами и т.п.
URL: https://nuclide.io/blog/2017/09/12/Introducing-Atom-IDE-UI/
Новость: http://www.opennet.ru/opennews/art.shtml?num=47192