Редактор кода с подсветкой синтаксиса.: различия между версиями

Материал из Вики проекта PascalABC.NET
Перейти к навигацииПерейти к поиску
Нет описания правки
Нет описания правки
Строка 5: Строка 5:
* проект должен быть "живым"
* проект должен быть "живым"


Написание собственного контрола не рассматривалось с самого начала, т.к. сегодня существует большое количество редакторов, написанных на JavaScript. Нашего внимания заслуживают EditArea, CodeMirror, MDK-Editor, CodePress.  
Написание собственного контрола не рассматривалось с самого начала, т.к. сегодня существует большое количество редакторов, написанных на JavaScript. Нашего внимания заслуживают EditArea, CodeMirror, MDK-Editor, CodePress. И выбор между ними совсем не прост.


Первым пробным вариантом стал самый известный контол EditArea. За время двухдневной эксплуатации был замечен важнейший недостаток: отсутствие возможности изменения интерфейса (убрать нумерацию строк, меню, строку состояния) без изменения основного кода, который не отличается простотой и понятностью. Даже цвет фона нельзя изменить через css, а необходимо заменить более пяти констант в коде. Были выявлены случаи мерцания и размытия кода при использовании некоторых версий Firefox. К важнейшим преимуществам стоит отнести и простую процедуру адаптации к своим языкам.
Первым пробным вариантом стал самый известный контол EditArea. За время двухдневной эксплуатации был замечен важнейший недостаток: отсутствие возможности изменения интерфейса (убрать нумерацию строк, меню, строку состояния) без изменения основного кода, который не отличается простотой и понятностью. Даже цвет фона нельзя изменить через css, а необходимо заменить более пяти констант в коде. Были выявлены случаи мерцания и размытия кода при использовании некоторых версий Firefox. К важнейшим преимуществам стоит отнести и простую процедуру адаптации к своим языкам.
Строка 11: Строка 11:
Самым мощным из всех контролов является MDK-Editor, но он не является полностью бесплатным. Кроме того, на лицо недоработанность проекта: ощутимо долгое обрабатывание самых простых операций (удаление или печать фрагментов кода). Но разработчики MDK порадовали нас наличием контекстного меню (которое не всегда работает правильно), элементами IntelliSense, анализатором синтаксиса. Стоит сказать, что все безусловные преимущества этого проекта обернулись сложностью кода, большим количеством ошибок. По мнению авторов WDE, пользоваться контролом в реальных условиях не представляется возможным.
Самым мощным из всех контролов является MDK-Editor, но он не является полностью бесплатным. Кроме того, на лицо недоработанность проекта: ощутимо долгое обрабатывание самых простых операций (удаление или печать фрагментов кода). Но разработчики MDK порадовали нас наличием контекстного меню (которое не всегда работает правильно), элементами IntelliSense, анализатором синтаксиса. Стоит сказать, что все безусловные преимущества этого проекта обернулись сложностью кода, большим количеством ошибок. По мнению авторов WDE, пользоваться контролом в реальных условиях не представляется возможным.


Codemirror не порадовал супер возможностями, да и  
И, наконец, самый легковесный, но не самый маломощный, Сodepress, который вобрал в себя все лучшее: простой и понятный интерфейс, простую установку на странице, читабельность кода, простое написание парсеров (используя регулярные выражения), малый размер. Но Сodepress имеет решающий недостаток: он не работает в Opera, Chrome, что вынудило разработчиков WDE отказаться от него, даже несмотря на все серьезные преимущества.


И, наконец, самый легковесный, но не самый маломощный, Сodepress, который вобрал в себя все лучшее:
Codemirror не порадовал супер возможностями, да и простотой кода тоже. Написание парсеров не является тривиальной задачей. Вес почти в 100 КБ. Тем не менее, это компромисс между сложностью, кроссбраузерностью и простотой: он работает на всех современных браузерах (Firefox 1.5+, Internet Explorer 6+, Safari 3+, Opera 9.52+, Chrome), обеспечивает наиболее профессиональное написание парсеров. Это один из самых масштабируемых редакторов. Это "живой" проект. Совершенно естественно, что именно этот контрол был выбран для проекта WDE.


== См. также ==
== См. также ==

Версия от 10:01, 11 июня 2009

Требования, предъявляемые к редактору кода WDE:

  • работа на всех распространенных браузерах,
  • возможность написания своего парсера,
  • возможность бесплатного использования,
  • проект должен быть "живым"

Написание собственного контрола не рассматривалось с самого начала, т.к. сегодня существует большое количество редакторов, написанных на JavaScript. Нашего внимания заслуживают EditArea, CodeMirror, MDK-Editor, CodePress. И выбор между ними совсем не прост.

Первым пробным вариантом стал самый известный контол EditArea. За время двухдневной эксплуатации был замечен важнейший недостаток: отсутствие возможности изменения интерфейса (убрать нумерацию строк, меню, строку состояния) без изменения основного кода, который не отличается простотой и понятностью. Даже цвет фона нельзя изменить через css, а необходимо заменить более пяти констант в коде. Были выявлены случаи мерцания и размытия кода при использовании некоторых версий Firefox. К важнейшим преимуществам стоит отнести и простую процедуру адаптации к своим языкам.

Самым мощным из всех контролов является MDK-Editor, но он не является полностью бесплатным. Кроме того, на лицо недоработанность проекта: ощутимо долгое обрабатывание самых простых операций (удаление или печать фрагментов кода). Но разработчики MDK порадовали нас наличием контекстного меню (которое не всегда работает правильно), элементами IntelliSense, анализатором синтаксиса. Стоит сказать, что все безусловные преимущества этого проекта обернулись сложностью кода, большим количеством ошибок. По мнению авторов WDE, пользоваться контролом в реальных условиях не представляется возможным.

И, наконец, самый легковесный, но не самый маломощный, Сodepress, который вобрал в себя все лучшее: простой и понятный интерфейс, простую установку на странице, читабельность кода, простое написание парсеров (используя регулярные выражения), малый размер. Но Сodepress имеет решающий недостаток: он не работает в Opera, Chrome, что вынудило разработчиков WDE отказаться от него, даже несмотря на все серьезные преимущества.

Codemirror не порадовал супер возможностями, да и простотой кода тоже. Написание парсеров не является тривиальной задачей. Вес почти в 100 КБ. Тем не менее, это компромисс между сложностью, кроссбраузерностью и простотой: он работает на всех современных браузерах (Firefox 1.5+, Internet Explorer 6+, Safari 3+, Opera 9.52+, Chrome), обеспечивает наиболее профессиональное написание парсеров. Это один из самых масштабируемых редакторов. Это "живой" проект. Совершенно естественно, что именно этот контрол был выбран для проекта WDE.

См. также

Comparison of Javascript-based source code editors