Wednesday, November 23, 2011

javascript подсветка кода в редакторах

В разработческой части нашей системы предусмотрено редактирование исходных кодов шаблонов и самих java-классов и сответственно встала задача чтобы код для редактирования не копировать в редактор IDE или Notepad++ и потом вставлять назад и сохранять изменения и иметь возможность делать небольшие правки напрямую. Для этого код нужно было сделать более читаемым: посветить теги, пронумеровать строки и по возможности добавить прочие плюшки: несколько уровней отмены, умный поиск и тд.

Как выяснилось подобных библиотек существует более 10 - Comparison of JavaScript-based source code editors. Важно было чтобы умел подсвечивать mixed html (JS + HTML + инструкции Velocity) и сам Java.

Пробовал установить и протестировать 3 и них: CodeMirror - всплыли баги отображения в IE - курсор показывался в правой части экрана и судя по большому количеству обсуждений подобные баги у него мигрируют и периодически всплывают. устанавливать было сложнее всего - 3 файла общих, плюс дополнительно отдельный .js для каждого языка CodePress - проект давно не развивается, что насторожило, а при установке - вообще при сохранении перестало передаваться содержимое textarea, выкинул тут же
Остановились на EditArea (список фич и download)- есть все что нужно и даже часть фич отключили. Что порадовало в работе EditArea - внизу есть галочка включения/отключения подсветки для особо суровых случаев