Представлен (https://c9.io/site/blog/2012/09/the-ace-editor-hits-v1-0/) релиз ACE Editor 1.0 (http://ace.ajax.org/), встраиваемого в web-приложения редактора кода, написанного на языке JavaScript. Код проекта распространяется (https://github.com/ajaxorg/ace) под лицензией BSD. Для начального ознакомления с редактором подготовлена специальная демонстрационная страница (http://ajaxorg.github.com/ace/build/kitchen-sink.html).
По заявлению разработчиков ACE Editor, несмотря на то, что продукт рассчитан на работу в браузере, он обладает функциональностью и производительностью близкими к обособленным приложениям, таким как Sublime (http://www.sublimetext.com/), Vim (http://www.vim.org/) и TextMate (http://macromates.com/). В отличие от стационарных редакторов ACE Editor может легко быть интегрирован с web-приложением или встроен на любую web-страницу (добавление сводится к размещению тега div и подключению JavaScript-библиотеки). Для изменения внешнего вида предусмотрена поддержка подключения визуальных тем. Кроме того, подготовлен модуль Ace Bookmarklet (http://ajaxorg.github.com/ace/build/textarea/editor.html), который может быть использован web-мастерами для прозрачной замены стандартной области ввода, реализуемой тегом textarea.
Также сформирован самодостаточный серверный пакет на базе Node.JS для быстрого локального развёртывания сервисов редактирования (достаточно запустить скрипт и редактор будет доступен через http://localhost:8888/kitchen-sink.html). Редактор можно запустить и из файла, но для этого потребуется (https://github.com/ajaxorg/ace/wiki/Running-Ace-from-a-file:) изменение настроек браузера (например, для Firefox нужно в about:config отключить проверку security.fileuri.strict_origin_policy=false, что не рекомендуется из соображений безопасности).
В настоящий момент ACE Editor развивается в качестве первичного редактора кода для облачной среды разработки Cloud9 (https://c9.io/). ACE Editor продолжает развитие интегрированной среды разработки приложений Bespin (http://www.opennet.me/opennews/art.shtml?num=27102) (Skywriter), изначально созданный проектом Mozilla, но впоследствии переданный для дальнейшей разработки сообществу Ajax.org, а затем слившейся с кодом редактора, созданного проектом Cloud9. Со времён разработки в Mozilla в ACE Editor добавлено 3218 изменений, проведёна миграция с тройной лицензии Mozilla на лицензию BSD. Редактор существенно преобразился, например, для организации вывода вместо canvas осуществлён переход на использование Document Object Model (DOM), что позволило существенно расширить число поддерживаемых web-браузеров.
Основные особенности ACE Editor 1.0:
- Поддержка подсветки синтаксиса для 45 языков программирования. Предусмотрена возможность импорта правил подсветки в форматах TextMate, Sublime и.tmlanguage;
- Подготовлено более 20 визуальных тем, позволяющих подобрать оформление на свой вкус. Поддерживается загрузка тем в форматах TextMate, Sublime и .tmtheme;
- Автоматическая расстановка отступов и форматирование кода;
- Опциональная реализация командной строки;
- Возможность обработки больших документов - редактор поддерживает работу с файлами, содержащими до 4 млн строк кода;
- Полностью настраиваемая система управления с клавиатуры, реализованы наборы горячих клавиш, аналогичные режимам vim и Emacs;
- Функции поиска и замены с использованием регулярных выражений;
- Подсветка родительских элементов, например, выделение циклов и условий;
- Поддержка мягкой табуляции (используются пробелы) и использования кода символа табуляции;
- Режим показа скрытых символов;
- Поддержка перетаскивания блоков текста мышью в режиме Drag and drop;
- Функция сворачивания блоков для упрощения изучения кода;
- Поддержка нескольких курсоров и областей выделения;
- Система проверки синтаксиса (в настоящее время поддержка присутствует для JavaScript, CoffeeScript, CSS и XQuery);
- Функции вырезания, копирования и извлечения из буфера обмена;
- Поддержка прикрепления к областям кода маркеров для быстрого перехода.
URL: https://c9.io/site/blog/2012/09/the-ace-editor-hits-v1-0/
Новость: http://www.opennet.me/opennews/art.shtml?num=34886