Есть ли какие-либо ярлыки синтаксиса в реальном времени?

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

В качестве последующего вопроса, какой редактор WYSIWYG использует stackoverflow?

Изменить: Благодаря ответу ниже я нашел два, которые выглядят так, как будто они могут удовлетворить мои потребности: EditArea и CodePress

EDIT: см. также этот вопрос:
https://stackoverflow.com/info/379185/free-syntax-highlighting-editor-control-in-javascript

Ответ 1

Вот действительно интересная статья о том, как написать один: (Еще лучше, он дает полный источник форматирования JavaScript и колоризатора.)

Внедрение редактора JavaScript, оптимизирующего синтаксис, в JavaScript или Жестокая одиссея к темной стороне дерева DOM

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

Важно, что он правильно обрабатывает регулярное выражение. Также интересен тот факт, что он использовал продолжение lexer/parser для стилей продолжения вместо более типичных лексерских (или регулярных) лексер, которые вы увидите в дикой природе.

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

Ответ 2

Вопрос может быть лучше сформулирован как "Какой редактор подсветки синтаксиса вы рекомендовали заменить html textarea в своем веб-приложении?" (Некоторые из других ответов здесь касаются настольных приложений или маркеров чистого синтаксиса, а не редакторов на стороне клиента)

Я также рекомендую CodeMirror, он написан в Javascript и поддерживает множество браузеров. Он использует настоящий синтаксический анализатор (а не регулярные выражения), поэтому он может справляться со сложными проблемами, такими как правильное выделение экранированных строк. Разработчик также очень отзывчив на дискуссионную группу.

Ответ 4

Я не программирую много javascript, но JSEclipse был очень полезен для меня в прошлом. Он поставляется как плагин Eclipse.

Я использую его в течение многих лет бесплатно

http://www.interaktonline.com/products/eclipse/jseclipse/overview/

Я также сильно полагаюсь на FireBug для Firefox, когда я занимаюсь Javascript

Ответ 5

Вы также можете попробовать http://softwaremaniacs.org/soft/highlight/en/ - он работает быстро, он поддерживает не только javascript, но и многие другие языки. И если вам нужен живой просмотр того, как будет выполняться подсветка, вы можете использовать setInterval для запуска выделения и отображения его в отдельном окне.

Ответ 6

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

Ответ 7

Пойдите с Bespin Mozilla. Он построен с использованием функций HTML5 (поэтому он быстрый и быстрый, но не поддерживает устаревшие браузеры), но, безусловно, потрясающе использовать и бить все, с чем я столкнулся - возможно, потому, что Mozilla поддерживает его, и они разрабатывают Firefox, так что да... Также есть jQuery Plugin, который содержит расширение для него, чтобы сделать его немного проще в использовании с jQuery.

Ответ 8

Извините, что перетащил это резервное копирование, но лучшее, что я нашел в CodeMirror http://codemirror.net/