Комментарии 44
Отличный развивающийся редактор, встроил в один из своих проектов, советую! Ближайший конкурент: codemirror.net/
Как минимум необычно. Если добавить предпросмотр веб-страниц и веб-консоль, то может получиться очень даже интересный симбиоз.
Консоль есть, но как по мне, она еще слишком сырая. А предпросмотр — слишком специфический элемент, лучше в качестве расширения, что-ли.
Предпросмотр? Отнюдь! Это незаменимая вещь для html-верстальщиков и веб-программистов. Ничто не заменит realtime-редактирования по скорости и удобству. Так же на базе предпросмотра можно добавлять различные поведенческие тесты.
В QtWebKit есть консоль? Или вы про свою говорите?
В QtWebKit есть консоль? Или вы про свою говорите?
А вообще это всё может неплохо так с qml быть скрещено. :) Как раз можно будет легко и быстро наваять редактор для всяких планшетов.
Хотя это всё детский лепет, подсветка синтаксиса тут не учитывает семантику, а тупо подсвечивает ключевые слова. А для семантической подсветки нужен парсер языка, как минимум.
Хотя это всё детский лепет, подсветка синтаксиса тут не учитывает семантику, а тупо подсвечивает ключевые слова. А для семантической подсветки нужен парсер языка, как минимум.
QML это классно, но у меня пока нет идей как это правильно сделать. А вот с семантической подсветкой можно подумать. Спасибо за наводку, может таки сделаю какое-то API для этого, у Novile
В Qt5.1 появился доступ к QTextDocument'у из qml классов, значит вполне можно уже сделать qml компонент, который будет любой текст подсвечивать.
При необходимости парсер языка можно сделать в виде плагина и вставлять в Ace уже готовое AST-дерево. Либо, как вариант, использовать EBNF-парсер на js, но тогда польза от самого Ace начинает стремиться к нулю, разве что удобная стилизация с помощью css. И в обоих вариантах, конечно, придется патчить сам Ace.
А он, кстати, схемы подсветки от kate умеет?
Я уверен что их можно портировать. Сейчас все схемы висят на theme-*.js файлах
А не слишком ли желтый заголовок?
Список фичей редактора просто сразил меня на повал — ни один из существующих не предоставляет то, что может Ace.
Я таки думал что самый функциональный это ОС-Emacs :)
Есть поддержка vim/emacs комманд, но пока еще сырая
Ну не знаю насчёт самый функциональный, он по большому счёту даже со всем допиливаниями и плагинами не умеет (или умеет криво) многое из того, что современные редакторы делают из коробки и без лишнего напряга (нет, понятно, что теоретически к нему можно прикрутить абсолютно любую функциональность). Тот же multimode совершенно кошмарен, я в конце концов от него отказался, т.к. головной боли больше, чем пользы.
Я Emacs юзаю в основном за то, что при всех недостатках это очень удобный текстовый редактор. Который поставленную перед ним задачу — редактирование текста — решает лучше, чем всё остальное, что мне довелось пробовать. А всё остальное… ну не знаю, каждый новый плагин — это в первую очередь куча глюков и нестыковок с уже собранным зоопарком при спорной пользе. Скажем, автодополнение я даже не пытался к Emacs прикручивать и на удивление никакого дискомфорта от этого после перехода с Eclipse не испытал: мне проще набить название метода/переменной/класса по памяти, чем ждать, пока редактор протормозится и родит список вариантов, потом просмотреть список и убедиться, что нужный вариант присутствует, и затем выбрать его из списка.
Я Emacs юзаю в основном за то, что при всех недостатках это очень удобный текстовый редактор. Который поставленную перед ним задачу — редактирование текста — решает лучше, чем всё остальное, что мне довелось пробовать. А всё остальное… ну не знаю, каждый новый плагин — это в первую очередь куча глюков и нестыковок с уже собранным зоопарком при спорной пользе. Скажем, автодополнение я даже не пытался к Emacs прикручивать и на удивление никакого дискомфорта от этого после перехода с Eclipse не испытал: мне проще набить название метода/переменной/класса по памяти, чем ждать, пока редактор протормозится и родит список вариантов, потом просмотреть список и убедиться, что нужный вариант присутствует, и затем выбрать его из списка.
Ace хороший редактор, и хорошо решает возложенную на него задачу, но зачем делать такое тяжелое решение, неужели нет адекватной альтернативы написанной на c++/Qt, на вскидку, есть Scintilla?
По вашему, это хорошее решение?
habrahabr.ru/post/144848/
habrahabr.ru/post/144848/
Ace неприятен тем, что предоставляет очень мало выходов наружу. Нормально следить за изменением текста в редакторе практически невозможно — ни эвентов нормальных, ни методов, которые не триггерят перевод курсора. В результате для одного из проектов пересели на Codemirror. Тот вообще-то тоже не сахар, но с ним работать чуточку легче.
НЛО прилетело и опубликовало эту надпись здесь
Никто не подскажет, как научить ACE понимать имена свойств объектов на русском? (Для тех, у кого здоровый интерес «а нафига наименования на русском??? — спросите у 1С. Я и сам не понимаю»). Тем не менее, сейчас делаю разбор XML при импорте из 1С, и АСЕ в подсветке php сигнализирует ошибку в синтаксисе на такое: $xml->Классификатор.
Простите за некропостинг, но я таки отвечу за 1с.
Обычно среди мейнстрима бытует мнение, что русский язык в 1с потому, что дескать 1с-программисты настолько недоразвиты, что им сложно выучить слова на английском. На самом деле всё упирается в предметную область. Когда у тебя в проекте десять тысяч идентификаторов (методов, переменных и т.п.), при этом вся предметная область тебе понятна не очень глубоко, ТЗ всё на русском, терминология на русском, клиент, консультанты по предметной области, пользователи — всё на русском… Переводить — увеличение сложности, поддерживаемости и читаемости на порядок. Транслитерация — тоже самое.
Нет, XML я бы на их месте транслитерировал, но всё остальное — оставить по русски. Там есть возможность писать всё по английски, но пользуются этим только те кто пишет для англоязычных клиентов.
ПС: основной код перестаешь переводить через неделю. Я только со знаками препинания мучался (фигурные скобки на русском — зло), и до сих пор если иногда приходится лезть в 1с код (что делаю не чаще раз в год), то язык запросов в голове перевожу. SQL более родной, и «SELECT» понятнее чем «ВЫБРАТЬ», и так далее…
Обычно среди мейнстрима бытует мнение, что русский язык в 1с потому, что дескать 1с-программисты настолько недоразвиты, что им сложно выучить слова на английском. На самом деле всё упирается в предметную область. Когда у тебя в проекте десять тысяч идентификаторов (методов, переменных и т.п.), при этом вся предметная область тебе понятна не очень глубоко, ТЗ всё на русском, терминология на русском, клиент, консультанты по предметной области, пользователи — всё на русском… Переводить — увеличение сложности, поддерживаемости и читаемости на порядок. Транслитерация — тоже самое.
Нет, XML я бы на их месте транслитерировал, но всё остальное — оставить по русски. Там есть возможность писать всё по английски, но пользуются этим только те кто пишет для англоязычных клиентов.
ПС: основной код перестаешь переводить через неделю. Я только со знаками препинания мучался (фигурные скобки на русском — зло), и до сих пор если иногда приходится лезть в 1с код (что делаю не чаще раз в год), то язык запросов в голове перевожу. SQL более родной, и «SELECT» понятнее чем «ВЫБРАТЬ», и так далее…
Зарегистрируйтесь на Хабре, чтобы оставить комментарий
ACE: самый функциональный редактор кода