@Firik67
Middle PHP Developer

Как делается подсветка кода в различных IDE?

Интересно, как в целом это реализуется. Алгоритмы, средства. Хочу сделать простенький редактор кода на c#, споткнулся на корректной подсветке. Сейчас сделано через regexp по набору ключевых слов, но не думаю, что это правильно. Хотелось бы в теории хотя бы узнать.
  • Вопрос задан
  • 912 просмотров
Решения вопроса 1
alex1t
@alex1t
.net developer
Для начала можно посмотреть, как это делается в других готовых компонентах
- www.codeproject.com/Articles/161871/Fast-Colored-T...
- codesharper.codeplex.com
- stackoverflow.com/questions/2973861/open-source-c-...
- stackoverflow.com/questions/1697360/how-to-syntax-...

А если говорить про серьёзные IDE, то в них конечно же делается не regexp'ами, а проводится постоянный разбор текста и построение синтаксического дерева, поскольку это помимо подсветки синтаксиса даёт ещё и "понимаение" кода (какие есть классы, методы и т.д.).

Сейчас на .NET 4.5 можно воспользоваться Roslyn:
sergeyteplyakov.blogspot.ru/2015/03/syntax-highlig...
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
Audes
@Audes
На каком этапе проблема? Часто жалуются на мерцание, но это решается через SendMessage с WM_SETREDRAW.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы